The first thing you should know is this trick--Don't pull away from a bite; instead, gently but quickly press your body part toward your baby's mouth or gently grasp the back of your baby's head and gently but quickly press his head toward your body. This movement surprises the child and causes the baby to let go, but it should not hurt the child and should save your skin. This trick is taught by people who work with children and adults who have developmental disorders. It's helped me get away from several painful interactions with the children I have worked with as an occupational therapist. (The trick works with dogs, too!)
I was also wondering why you think he bites you.
Is he trying to get your attention? In this case, I'd say to remove him from your poor shoulder without acknowledging what he did, put him carefully down, and walk away for a minute or two. If he fusses or otherwise acts up, continue to ignore him until he calms down. Then go back and interact with him as usual. Don't talk about the biting. Next time you're in a situation in which he tends to try to get your attention by biting, try not holding him if possible and offering your attention as often as you can while still having a conversation. Show him how to get your attention with words or gestures before he tries to bite you again.
Is he biting to get you to put him down rather than using words or gestures? In that case, I'd say to remove him from your shoulder, turn him away from you, and hold him gently there for as much as a minute if possible. Then show him how to communicate his desire to get down and immediately let him down. If you can catch him before he actually bites you, show him how to communicate with you and reward him by putting him down.
The goal is to not reward his bites by giving him what he wants (you just have to figure out what that is!), to put some time between the bites and your interaction with him, and to teach him other means of communicating with you.
Good luck! This must be very frustrating to deal with!