Corsair's favorite landing spot on a person is the top of their head. If I call her with a treat in my head she will usually land on my head and hop to my hand. If she decides to visit me she will always land on my head. When she flies to see others, she swoops down from above to land on their head-sometimes strangers.
I have tried moving her immediately to another perch, which may make her take off and fly back to my head until she gets tired and tries a different game, ducking, which causes a circle and try again, and wearing a hat, which works until she gets used to the hat.
I would keep working this way, but we had a crisis yesterday. My daughter stopped by and Corsair flew over for a head landing. Daughter complained "she only wants to poop in my hair" and started shaking her head. Corsair landed anyway, then grabbed hair to hang on. Daughter started trying to brush bird out of hair. Bird grabbed back of neck. Daughter started screaming in pain. I finally managed to get across the room to rescue bird and daughter from each other.
I was calling Corsair during most of the incident, but sometimes flighted birds do their own thing. Poor Corsair has now got this daughter added to the list of people and animals whose presence means Corsair is stuck in her cage. She doesn't need more.
To the point of this post: I need ideas on how to seriously train my bird to choose to land on other places than heads. Should I make her wait until she is called? Put even more perches out? Please help!