In my testing I have found that a lighter piston actually increases Joule Creep, at least it does on my build. A heavier piston only killed the energy output with 0.2s but the Joules on 0.4s stayed the same
Either way, 15 fps is roughly 3 m/s deviation, which per se isn't too bad but as a sniper you want all the consistency you can get to have repeatable shots.
Check each individual "step" in air seal:
Piston head to cylinder;
Cylinder to Cylinder head;
Nozzle (on top of the cylinder head) to hop rubber lips;
Hop rubber to barrel.
The first two are easy to check, with just the cylinder in the receiver (so everything else, stock, barrel removed) cock it, press your finger on the nozzle and pull the trigger, the piston head (where the o-ring sits) should travel just past the port and stop, being held back by the compressed air inside the "closed" portion of the cylinder. If it doesn't, there is a possible air leak around the piston head o-ring or the cylinder head.
Use proper lubricant and not PTFE, please.
Nozzle to hop rubber lips: gun upside down, place a piece of tissue paper where the bb feed hole is and fire a shot, if it flies away it means that there's air escaping from the rubber's feed lips. Either replace the hop rubber or wrap (and then superglue) a small portion of heat shrink around the nozzle end.
Hop rubber to barrel: hardest to test, it's always good to wrap PTFE where the rubber overlaps the barrel. Some people wrap until the bottom channel of the barrel is covered (so say 3-4 centimetres from the end of the rubber). The hop chamber will compress the PTFE enhancing the seal, don't overdo it or you won't be able to close the chamber anymore.
Some hop rubbers, like the Maple Leaf MR-Hop, are known for not giving good air seal (GBB/VSR version only, the AEG version is super air tight), but in my experience with them the leak is so consistent that it becomes irrelevant.
Once you sort these things out the fps deviation will drop considerably and test the seal with the gun fully assembled (by doing test n.1 but with your finger over the inner barrel this time).
I've read of people getting less than 5 fps in deviation in some cases and it's pretty impressive tbf, given the shit tolerances of our toys..