I took a look at your puppet. I don't have a definitive answer to your issues, but do have a few suggestions. It is probably a good idea for each body profile to have its own head group. You could use the same head setup, but put a copy in each body group. That way you are less likely to get the strange head movement. The Maddy puppet at Character Animator Examples would be a good example. Then using just a single walk behavior would offer more consistency when the left and right walk profiles are visible. I would put the walk behavior at the level above the three profiles. Once that is accomplished the dragging feet can be addressed by adjusting the location of the walk handles, and by playing with the walk behavior parameters. For instance, increasing the walk strength and decreasing the stride length might solve the shuffling problem. Sometimes a puppet's walk is sensitive to exactly where the handles are located, as well as the geometry of the legs and arms. Shifting the handles just a little bit can often make a significant difference in some puppets.
I hope this helps you.