I have owned a mare for just over 2 months who was similar to your little guy.
She was very head shy and naughty, nippy and would try to kick. She had been neglected and was very thin. She became kind of pushy and nippy once she discovered that food came at regular intervals and plenty of it!!
\The best advice I can give is Patience and kindness!!!!!!!!!
I knew there was a great horse under all that matted hair & naughty exterior!
She is now a sweet, gentle trusting mare and very beautiful.
I spent lots of time with her rubbing her neck and talking to her and I did give her treats but I used a clicker when I gave them to her so she knew when to expect them! It took close to 2 months but she now trusts me and follows me around in a non aggressive way! Once in a while when I am mucking them out she will act head shy when I lift the rack but for the most part she is great.
The huge BONUS here is to see a horse blossom and to trust you and to see them finally relax!!
Hang in there and work with him gently but firmly. I NEVER hit her but would tap her on the nose when she was being too pushy and would say a firm "NO"!
My mare is not trusting of other people yet but she definately trusts and loves me now! It is awesome!!
IMO when working with a shy or abused horse you need to work with them not against them and once they gain their confidence they will be able to trust you!!
Good Luck!! I am sure the gelding will help too!