I hesitate to give my suggestion as it involves oil and cling film......
Warm some olive oil and apply to hair, wrap your hair up in cling film ( to keep the heat in) and then wrap in a towel, wait for about 40 to 60 mins then use neat washing up liquid or value shampoo, rub it into your hair and then rinse it out.
In theory, the olive oil softens the hair cuticles which will help remove some of the dye, and will also lessen the damage done by the washing up liquid stripping the hair.
Also, bleached hair that has gone green after swimming or dyeing brown can be washed in tomato juice or ketchup which should fade the green tinge.
And build up of styling product or too rich conditioner can be removed by ringing hair in water mixed with Epsom salts (or vodka/gin - but you may think that that would be a waste!)