In my opinion, if he won't get down when I ask them to off my shoulder then those priviledges will be revoked, just keep alternating arms and stop him from going to the shoulder, he will learn he is not allowed there. As far as landing on your head, put your arm up and gently swat him away, he will soon learn he cannot land there and stop.
He is trying or testing you right now, you have to take a stand and let him know he can't do what he wants to, it may take many many tries but he is allowed to continue then he is boss and knows it.