So, what if you calculated how much recoil the rifle will cause, and slow the gun to the speed minus that recoil speed, so when the gun fires it kicks it up to 2,300?
Rifle speed in backwards direction (RB)
Recoil (R)
Gun (G)
Bullet (B)
R = 20FP/S
RB = 2,300FP/S
RB - R = 2,280 (SRB)
Set SRB to 2,280FP/S, when fired G will accelerate to full RB due to R, causing G to go 2,300FP/S one direction as B goes 2,300FP/s in the other.
Just using random Recoil number, but you get the idea. Not sure if it would work, but being 4am and all, I get weird ideas.