Bribery! Find the treat that he will do anything for. For Syd it is sunflower seeds. I have always shown him the treat and he gets it when he does as he is told. He is now on the way to 4 years but it still works. At present he is having to stop attacking first thing in the morning. He has a sleep cage but for no reason that I can think of he suddenly started to attack on the transfer to his day cage in the mornings. For several days I tried other methods. Now a sunflower seed and he steps up with no problem onto a piece of perch and off we go. He carries it in his beak until he reaches his day cage.
I have been doing this now for a week and will continue until he is conditioned away from his morning attacks. It will take some time no doubt.
The other problem is stopping your little one getting on your shoulder to start with. It should be a privilege and only when they are completely trustworthy. If he flies to you duck away with a sharp NO and wave you hands to put him off. If he tries to run up your arm then block him with you other hand and again the firm NO. He only comes on you at your invitation. He will be puzzled but he will soon realise the new you. If he will step up with bribery then take him off with a treat and put him down somewhere to play. If he is like Syd he will try to guilt trip you but ignore it. You are his parent not his best mate and boundaries need to be set.
Imagine raising a toddler, Syd is like a typical 2 year old. I made an effort to teach two main words. No and Off. Using just these two I can generally keep him out trouble. I say them firmly and he gives me that stare that only a bird can but I repeat as necessary and once he has realised I do mean it he inevitably moves away from whatever it is.
They are very bright little bundles of feathers and I guess they know precisely which of our buttons to push. Be patient but determined - it will take time.