I use the idea of pounds of pressure. 1 pound at the start 5, then five then ten. It eventually shows the horse that the first time you pull means stop. Also when you want him to slow completely stop your seat and legs and you should get a better response :)
Something I live by when riding is "when a half halt doesn't work, do a full halt." They should not ever be allowed to run through your hand. Work on freaquent downwards in your warm ups, asking him to come back before they can get stronger or out of hand. Don't be afraid to use the wall if your horse continues to run through your outside rein.