I've adjusted the weight so that it favours the pushing leg, which I think seems to have curbed most of the 'popping' problems; I'm still not 100% sure but I don't really know what else I can do with it...!
The only issue with this is that it causes one of the knees to 'tremble,' but it's mostly only noticable from the front:
I encountered this problem before and I don't really know what causes it. Some keyframes, somewhere, are causing the knee to keep changing direction but I can't find them anywhere. Keyframing the up vector hasn't helped much, but what baffles me is that it's only occurring for that one knee. Could be the legs I suppose? Maybe the hips? I need to have a slightly closer look.
Viewing it from the front also showed me the problem with the head. I think it was leaning too far to the left and sort of unbalancing him, so I've tried to slightly alter the position of the neck on a few keys so that it's a little more in line with his body.
I also started messing around with the head itself, trying to get some overlap in there. As he draws his body back I offset the neck and head by a few frames so it slightly drags behind which I think is looking a great deal better. It's still not quite there - I'd like to refine it further - but it's a start.
The arms are now stationary which is much less distracting, and owing to the twisting of the chest they're actually almost entirely animated for me. All I really need to do is get the shoulders moving and add a bit of follow-through/overlap for the wrists and hands and I think it will be mostly there.
I'm gonna mess around with the head a bit more first, though, and see if I can't get that knee problem sorted out.