The mismatch between animation speed and character speed

Single player? Root motion.

Multi player? Make a curve for speed, read it into the character speed so its constantly changing (you have to pick the correct unit value though or just print out the movement and then do math in engine to scale it to the same measure. You have distance over time automatically from a curve - usually in cm.