if some one has oily skin then there are more chances of wax obstructing the ears.
But as you say your head smells bad you can use-- medicated Antidandruff shampoo like Nizaral two times a week, and then dry them up with hair drier.
For ear as you said you have dirt behind the ear drum , so i think your ear drum is perforated ,but you and your doctor knows better.
Get your ear cleaned properly under microscope (by ENT specialist
) and then use--
antifungal ear drops
And most important thing ----PREVENT WATER ENTERING IN BOTH EARS...
you can use cotton soaked in vaseline and then put in both ears ,not deep inside, and then take bath and then after bath remove the cotton. and let it dry up .