Character special moves with constant speed changes in multiplayer

I think this is not an easy one:
I have special moves triggered by the player, made with an animation sequence for lower part of body and a montage for the upper part.
For regular locomotion-type moves, normal way to work this is with animations in-place with blendspaces, but in my case I have special moves with it’s own variable speed.
I could use root motion, but I need to think for multiplayer, so that would be a headache at least.
So I tought having a curve (extracting movement of hip bone from root bone i.e.) and setting the correct speed as originaly recorded for animation for earch frame.
In this way, I understand character movement replication would work OK, but as I would be changing speed constantly, lag would be a big problem.
Cosnidering this, I’m now dividing an animation sequence in segments with similar speeds, and then changing speeds only a two or three times for each special move. It seems to work but it seems to me a little… dirty somehow.
Is any other more easy or reliable way to achieve this (multiplayer-proof) ?