Getting rootmotion to not take over animation rotation isn’t all that hard. You can simply modify the mecanim bridge to not alter rotation, I’ve linked my version ( that also ignores rotations ) here:
( the Vector3.Flat() is one of our custom extentions to just set they y value to 0 )