Players and Physics = Bad idea.
But if you want to try, what you'll want to do is recenter your model around it's feet. The physics engine should then use that as the center of gravity.
Another technique I've found useful is to modify the bounding box to be a flat "tile" low on the feet. This way, the model visually will stand tall and walk, but physically will be a flat tile gliding on the ground.
So I don't think anything is wrong with your code or your model... it's just that your model may be "top heavy" and thus the physics engine is just doing it's job.