Sincronizar animaciones

Buenos días, estoy puliendo un poco más lo del tema de las animaciones, porque no me convencen demasiado y he pensado que igual es que no estoy haciendo las cosas bien y por eso no dan el resultado que busco.

He creado las animaciones de mi personaje, pero cuando sueltas la tecla para correr el personaje debe de volver a su posición inicial y es ahí donde se aprecian cortes en la animación o fotogramas que no coinciden.

En un principio lo hice lo más chapucero del mundo, o sea soltabas la tecla para correr y directamente el personaje ya se ponía en la posición de reposo, pero era demasiado amateur y empecé a crear animaciones intermedias para por medio de programación ejecutarlas según el fotograma en que dejemos de pulsar la tecla para correr y que el personaje volviese, pero no sé si es la mejor solución porque si la animación de correr tiene 40 fotogramas, para qué no haga cosas raras debería de crear 40 animaciones donde el protagonista volviese a su estado inicial y que así no se viesen cortes ni nada.

Lo que he hecho es crear rangos, entonces entre el fotograma tal y el fotograma tal, si soltamos, inicias la animación de volver a su posición numero tal. Así solo he tenido que crear 3 o 4 animaciones intermedias y ya está, pero no me convence, a veces sueltas en un momento en el que tendría qué haber otra animación más y se nota qué el personaje hace cosas raras.
¿Cuál es la forma verdaderamente en la que se hace esto de las animaciones intermedias?
Un saludo.

Ver más sobre el tema y los comentarios en el foro