When all else fails, I bribe them!
I'm ashamed to admit that I've never made any sort of an effort to train my QH to be caught. He does come when I call, but if he sees the halter/lead he will play cat and mouse with me. I generally walk up to him with grain and slip the lead rope around his neck, then there is no problem whatsoever with getting the halter on.
I have trained my Arab to accept being haltered without grain. If he's feeling a bit saucy, I just "round pen" him in the pasture. He is so respectful that he doesn't run away, but instead makes a perfect circle around me as if there were a fence or a longe line. It only takes a very short while before he comes in to be haltered.
My sister-in-law's horse begs to be haltered. His only problem is that he's so overeager that sometimes it's difficult put it on as fast as he would like and he gets impatient.
I do believe body language is important. I have always been taught to approach a horse at an angle towards the front shoulder. Eye contact can be perceived as being threatening, especially with nervous/unsure horses. Acting like you are uninterested in them often works. Approaching indirectly (zig zagging rather than walking directly up to them) is another method that has worked for me.