It sounds like your son may have gotten shampoo in his eyes. It's also uncomfortable for children to have soapy water roll over their faces. I have a couple of suggestions for you.
1. See if you can find an organic baby shampoo and try it first yourself. Does it sting your eyes?
2. In the tub, soap your child's head with a tiny amount of gentle organic shampoo - don't make a lot of lather- then when it's time to rinse let him hold a dry wash cloth over his eyes. Then you very carefully hold his head in the water being careful to keep most of his face and head out of the water as you slowly wash the shampoo out of his hair with your other hand. Your job is to keep that wash cloth from getting wet.
Before I tried laying my son back in the tub for the rinse I tried pouring water over his head and too much of it rolled down over his wash cloth.
3. Tell your child what the plan is and how he can help make sure the shampoo doesn't get on his face or in his eyes. I think he might just understand. I washed my son's hair this way until he wouldn't let me see him naked anymore.