I would suggest to stop the shoulder perching because it is a sign of dominance, they are basically at your level and if he is nippy, he could easily go for an eye. I had the same problem with my Sun Conure.
Instead of shoulder perching, do knee perching and talk soft and low to him. Try to keep your hand close to him and if he will let you pet him, then do so. If he bites put him immediately back into his cage for 10-15 minutes.
He will learn that you won't tolerate the biting and that you are the dominant partner in this relationship.
Just remember yelling or striking the bird will do a lot of harm to his psyche (not that I think you do this BTW).
It took me a good few months before I could start enjoying my relationship with mine but that was because she was pretty neglected for 8 years and to this day will still jump when I raise my hand to scratch my nose....
Patience will be the key...and best of luck!