Consistency will help a lot with this horse. It rang an alarm bell with me when you said if you weren't trying to do something it would be hilarious, OP. Bad manners, in your space/face, niggling at you should never be hilarious. Behave like that with other horses, fine, but not with humans. He sounds like a horse that has never been "put in his place" and what I mean by that is out of your space, unless invited in. He needs to no it's NOT ok to be rubbing on you, nibbling, etc etc. He wouldn't do it to another horse (unless he wanted to wind it up to play, or to push it around).
I would
1. Stop feeding from the hand, ever.
2. Buy a few idolo tie rings, use a long rope through the idolo ring (15 foot at least, or 20 if you have one) tie up shortish to it (they are designed to pull through, so make sure the long end is out of the way and can't be trodden on. If he pulls back, the rope will run through, while still keeping pressure on. When he stops pulling back pressure is released. They are game changers.
https://idolotethertie.com/
3. Watch some of Steve Young's videos. There are hundreds of them on his website, free to access. They can be a bit long, but pretty much all follow the same principles. He follows the principles of people like Buck Brannaman. Pay particular attention to his "Unwanted forward movement principle". Here's one I found quickly with a horse which sounds a little similar
4. Get an IH trainer in. It might only take a session or two to give you the tools you need to go forwards. It's absolutely worth the investment now, before things escalate
5. Be consistent in NOT accepting nibbling/head rubbing etc. I find slapping your clothing sharpy, possibly with a rope end or coil, sends them off you. You don,t need to hit the horse, but you do need to be forceful enough in what you do to step them away from you.
Good luck OP