Download it here: Key Baker
This plugin bakes the animation on the selected objects and save the bake on a file.
You can then import and apply the baked animation just by browsing the bake file in the Import tab.
How it works:
For each selected object, the script saves the values of each published and keyable attribute for each frame in the selected interval.
When you apply the cache, the script simply looks for each object in the bake and keys the relative attributes to the values saved in the bake.
Be careful that applying the animation bake will destroy any keyframed animation currently set to your objects. Thus, the right way to go would be caching the animation and then applying the cache to a clean copy of the scene, with no keys, expressions or constraints that might control the published attributes.
Copy the file keyBaker.pyc into your script folder, source the file and call the main() function, as shown here:
import keyBaker keyBaker.main()
For any suggestion, bug report or question, you are free to contact me.