Oh come on. Pour epoxy into a polished and greased copper tube with a couple of greased o-rings suitably placed and when it sets it'll be pretty hard to get a better fitting sealed piston without machining. Lubricate it as you would any sliding mechanism and it'll be fine.
With some modification extra springs could work but you need to know the strengths of the springs to match the pressure they have to work against.
I deliberately design for simplicity on the grounds of reliability. It's very hard to get more simple than a rod with a fixed piston on each end plus one spring. It also doesn't matter what pressure there is and will function with any strength spring that can push back the unpressurised pistons. But if you can
get a stronger spring it will allow a higher pressure buildup before dumping the chamber.
Anyway, given my tuppence's worth of ideas to the JSR semi-auto foundation