If you have a crappy oring on the piston or the cylender head doesnt seal well to the hop up rubber or to the cylender or the hopup rubber to the barrel or the hop up unit you could have an air leak and or bad compression. And either one or all of those variables could be speratic. Like you rack the bolt fire a shot and get 350fps and the pressure from firing expands the hop up rubber to make a nice seal on the hop chamber you rack and fire again and the oring on the piston expands good and you alrdy created a beter seal between hop up and rubber and you shoot 370fps but the impact shifts the cylender head a lil next shot you have a shifted cylender head so it leaks aro7nd the cylender head and doesnt seat well into the hop up so another leak and then th oring doesnt expand on the piston again and you shoot 345
Next shot u shoot 355 then 340 then 370.
Too many crappy stock parts makes too many variables and causes speratic leaks.
Think of it like a tire with a hole in it constantly hooked to a pump a ball inside that sometimes is forced against the hole stopping the leak pressure would rise then fall then hold steady and so on.
A decent bolt action no matter the power 300fps or 600fps should only have a small variance shot to shot. ( my vsr is ±3fps so has only a 6fps varience) a 20 or 30 fps varience means there is some kind of loss happening that isnt happening all the time. Id try teflon tape on the connection between the cylender head and cylender (on the threads) between the hop rubber and barrel and the hop rubber and hop unit. That should eliminate most of the potential for sperratic leaking if your on a tight bugget. Otherwise id buy a laylax cylender, piston, piston head, hop up unit and a good inner barrel and be done with it.
And just to correct what kos mos said. A heavier bb will leave the barrel with the same energy (joules not fps) but it will arrive at the target with more energy as a lower weight bb will shed the energy (and velocity for that matter) alot faster as it cannot overcome the resistance of the air as well as a heavy round.
Fire a 20 at 400fps after about 30feet it has lost alot of velocity and energy at about 75feet a 30g bb fired from the same gun will have more energy left and will actually be traveling faster the the 20g bb even tho the initial velocity was alot lower because the lighter bb will be slowing down and shedding energy at a much faster rate then the heavier one. By 120 feet the 20 will be useless but the 30 will still fly relatively straight and will still have enough energy that the target will feel the hit even out to 200 feet itll have decent energy.
In a 500 fps setup a 36 or 40 bb with adequate hop up can cary enough energy for the target to feel out well past 300 feet but a 20 will still be useless after 120 to 150feet cause it just cant combat the resistance the air is putting on it as it flies
Here is a more scientific explination and also links are provided to the bbbastard msed charts for further explination of energy retention and velocity losses over range.