Here's one method that I've had some good results with.
The horse would need to be in a stall. Anchor one end of a lunge line to the stall corner piece about chest high to the horse-a plank or a post. It's not going to take a pounding but still needs to be fairly substantial. Get the horse on the side of the stall you'd like him on and the line just laying on the floor of the other side. Just talk normally to him in a relaxed fashion, raise the line out of the dirt and show it to him. Now with the line as a sort of barrier the stall has just become smaller. The key here is to be relaxed and talk normally to the horse. You have every reason to be relaxed because there is very little danger of any kind; but don't forget, if you're acting all relaxed and confident, but inside, you're actually not, the horse can tell, and this will be a lot harder than it needs to be.
Start by working the line over towards the horse and cause the horse to begin to move over and alongside the stall wall. He'll tense up a little, so pause, and let the adrenalin get out of his system. Just talk normally to him. Ask him if he's ready and then tell him you're going to move into him a little more. If he let's you, then thank him. If he decides to blast through your rope line then let him. Scold him moderately, give the line a little back pressure, just enough to make it unpleasant for him, and then just let the line go free, while standing there calmly. Tell the horse "no problem". Retrieve the line. Work the horse around the stall back to the starting point and start over. The horse had no fun charging through the line, felt no reward, and now sees that he didn't gain anything. Especially if you're relaxed. So he won't charge through your line too many more times when, soon, you can have a second person simply approach him from the side, relaxed, as if you're all terribly bored, and slip a lead rope around the horses neck and gain control of him. Put the halter on.
Remember, from the beginning the horse has known what you are wanting to do. He simply doesn't want the halter on. Or possibly to even be messed with for that matter. When he sees that either you don't know what you're doing, or are not sure about what you're doing, he will capitalize on that. Once he sees that you know what you're doing, that you have a plan and intend to outlast him until he gives in to your desires, he'll stand there and let you get on with it.
I'll grant you that this is not a method for inexperienced horse owners to try. You will already need to be familiar will how horses generally behave under stress, and how to stay out of the way when one gets excited. Once you learn how horses think and act this sort of thing becomes very predictable and safe.
Yes, there are many more methods one can use to accomplish this same goal, but this is relatively simple, safe and quick. And I like quick.
And feel free to ask me to elaborate on any of this.