start off at a nice walk, from your horses shoulder, and then halt. If he isnt standing square adjust him by holding the lead rope near the top and still standing at his shoulder. Gently push him forward a tad to try and bring the foot that is behind up level with the other. Sometimes this may take some time but the moment he stand square at the front stop asking and give him a praise and a pet. The back feet are harder to get even but as far as I know as long as the front feet are even that's what matters. When trying to square them up always move forward to do it, not backwards.
Once your horse is standing square even if only at the front, there whole stance will be much prettier. Including their head position
Some pics to demonstrate
This is my mare possum. She is standing square on all four legs and looks lovely because she is all straight and 'high' as in kind of lifted up a bit.
This is my wb jarred. He is only standing square at the front but he still has an appealing look about his stance
Work on getting front feet even and the rest will come :)
When he comes toward you when you stand in front of him you want to move him backwards out of your space. This is often a dominance/lack of respect thing. Move him backwards by either throwing your arms up and 'pushing' him backwards (not by actually touching him though.) if he doesnt respond to that lightly push him back from his chest. As soon as he backs up stop and see if he stands. Keep doing this until he learns not to come towards you when you stand in front of him.
Hope that helps in some way :)