I kind of have something workable, not sure its the best solution. Would still like some input. But this is what I came up with (recoil coefficient is set to 3 at the moment, but its just a variable I can fine tune):