So this is just a suggestion. I do not know your horse but this worked for me when hitting did not.
My horse used to bite because he was, gasp, BABIED by his previous owners. He would try to nip about every three seconds. I tried whacking him in the head, circles, poking him, whacking him with a crop, you name it, I tried it. It really did not help anything.
The only thing that helped was ignoring him, well kind of. A trainer put me onto this, and he said when he attempts to nip, don't look at him, don't stop when you are doing, simply throw your elbows (think flap like a chicken). Do not pay any extra attention to him. Once you have his face away from you (which is you flap hard enough he will move his face away from you) continue doing what you are doing. He will quickly get sick of his game, because you give him no extra attention and he keeps hitting himself on your elbow (or so he thinks). This fixed my little dude in about a week flat, with steady improvements each time I worked him. Plus this method causes no head-shy results, since the horse thinks he is bumping into you, and not you hitting him.
Try that out and see if it helps.