I think the biggest part of that weight issue is caused by the waist of the character staying relatively static. Make sure it has translation and rotation in all directions as it steps.