You can use the root when it actually helps and doesn’t hinder.
Eg – I did TV commercial with a Roblox character riding a skateboard.
The skateboard had 2 roots, and the character had 1 root.
The character root was parented to 1 of the roots of the skateboard so it could glide along for free. But then when he did tricks and flips, that root wasn’t the one flipping around. (otherwise the character would fly off everywhere)
What I mean by ‘starting point’ is that when you are doing film/tv stuff, you don’t really use a cycle as is.
You will use those keyframes as a starting point and edit them so it matches what you need.
As for the root moving backwards.
One day I will do a video demonstration – but here is a text version.
In your translating walk….
– Grab the Y loc on the Torso (the forward movement)
– Paste that onto the Y Loc for the Root.
– Then flip it so it goes in the opposite direction.
This will cancel out the forward translation and your walkcycle will be ‘in-place’.