If you're relying entirely on root motion to move your character's correctly, you have to ensure the character is in a precise spot before triggering the animation -- if your "hide in cover" animation displaces a character's center to the left two feet, their center must be two feet (plus their radius) away from the cover to start with. Otherwise they'll clip into the local geometry.
The simple option is to just adjust the displacement in the animation and/or adjust the starting position in the world where you trigger the animation (your "preset cover position").
If you rely only on root motion, though, you have to do a lot of precise positioning of the "cover positions" and such, and that can be tedious to maintain. Your distances must all be fixed according to the distances in the animation, and that constrains your options for actual environment art.
Instead, you can disable root motion temporarily to "line the character up" by interpolating their rotation and position. If they're far away, use a root-motion based locomotion action to get them within a reasonable tolerance, and then interpolate them with root motion disabled to position them precisely, and then re-engage root motion to do the "hide."
You can still play the same animations without root motion -- up to a certain threshold, the player won't notice some slight footsliding or misalignment of the animation versus the ground, especially if it happens quickly or there's a camera cut to help mask it.