Most soap/shampoo has Sodium Lauryl Sulfate in, and that's (one of) the bad ingredients. I always loved Lush, but even their shampoo has that in
You can actually make your own shampoo by boiling a small amount of soapwort, and adding essential oils - tea tree oil for dandruff, rosemary oil for greasy hair, or I think adding some chamomile leaves is good for blond/fine hair.
Failing that, you can use bicarbonate of soda (I quit washing my hair for six months or so, hoping it would start 'cleaning itself' but it didn't - but bicarb of soda was absolutely FANTASTIC, easily as good as any commercial shampoo and I didn't need to wash my hair as often.
Chamomile tea makes for a good shampoo, and if you want conditioner, eggs work well.
None of this except the soapwort recipe will lather up though, so it can take some practice.
I have used Dr. Bronner's peppermint magic soap, and I can say that is pretty awesome. My partner finds it irritating unless it's very dilute though.