Applying armature scale messes up the action
Since F-Curve points for each bone are calculated w.r.t. the rest position of the bone, we can kinda get away with scaling them w.r.t. y=0 axis.
see this for clarification:

In this gif, I created 3 dummy bones and animated them. Then I scaled them in object mode and applied the scale. Then in the pose mode I selected all the bones and in graph editor, I selected all the location curves and scaled them on the y-axis by 2. You can see the root bone is now traveling 4 units and the scale is 1 in object mode.