I have a rough (not ready to post yet) version with "relative" rotations AND translations which seems to be working so far. I think this is a great idea and if it wasn't for your persistence I doubt I would have even thought of that so soon. Thank you for that.
Animation Master has a similar problem with bone setups having to be the same. It does have a function to "scale" walk cycles for different characters. That would be something I would need for this. A way to modify the imported action so it can be used for different characters.
Another "scaling" option I want to add would be for stretching or compressing the distance between key frames. You could import an action and scale it 10% or 20% or reduce it 20%. Change the tempo. I suppose this might be better done with the built in function but it seems to have issues sometimes.
Just so you know, the order of creation of the bones shouldn't matter only the names AND the parenting. For instance if a rig uses a strange parenting that isn't the same the bones will obviously rotate differently. For instance my rig example has "hip" bones for each side, parents of the thigh. Some rigs might not have the hip bones. If there is critical motion in that hip bone the action won't appear to have imported correctly and adjustments need to be made. Also the extra root bone. Some rigs have the hips parents of the back. rotating the hips rotates the whole body. Another thing that has to be considered.
I've found though that even if the action doesn't import exactly right, the tweaking to make it right is minimal compared to starting from scratch. In my case specifically I've been able to use these scripts 100% successfully and have already started compiling a bunch of action files for use with my character.
This script would also be great for "simple" things like bouncing balls, waving trees or the kind of animation that is tedious to set up but can be used over and over.
I would love to figure out some way to create a way to do walk cycles based on stride length. The absolute distance between the keys of each foot hitting a certain spot could determine the translation distance of the root bone. Then a walk cycle could be adjusted based on "math" to work with different characters.
That's for the future.
-vern