Would the BTracer Addon work for you?
It creates a bezier curve object from any animation by tracing an object, mesh vertex or particle motion path through the scene space for every frame.
Have in mind that it doesn't convert the animation for you it only traces and creates a curve object from it. You may then manually rebuild your animation to use this path, although some transformations may be lost or not translate completely as expected, like rotations.
Select your animated object, and in 3D View > Tool Shelf > Misc Tab > BTrace Panel you will find all the settings you need.
- Choose the Mesh Follow option
- Expand the Settings button
- Choose Object option to trace the object center.
- You can also set the step size so there is less than a vertex per frame, although it probably comes at the cost of accuracy
- Press the Curve Settings button bellow
- Choose the desired Bezier curve interpolation (you can change here the type of handle from vector to aligned or auto)
In the end if there are too may vertex maybe you can clean up a bit with the Simplify Curves addon (in Blender by default), though again probably at the cost of accuracy.
Now I am not much into animation so I am not sure how this may go, maybe someone else more experienced as a better workflow but:
- You can then either clear the animation of your object and parent it to the curve and use the Properties Window > Object Data > Path Animation for the curve object;
- Or clear the animation of your object and use a Properties Window > Constraints > Relationship > Follow Path and pick your curve.
Not sure which one is best.