Last year there were days I felt bad going to work because I didn't know what condition Bud would be in when I got home. Sometimes I considered making a little padded cell for him.
One day he tore up and bloodied a good 3 sq. feet of carpet trying to get outside the patio door. He lost three claws and broke some others and had left a trail of blood back up to his perch. He bashed up his chin, and it was almost better when he jumped off a dresser and knocked the scab off. He still has a little pink scar on his chin where the scales haven't grown in yet...
And for some reason, he was irresistably attracted to the color GREY. My grey sweatpants, my boyfriend's grey shirt, you name it. Not green. He ignored any "love" toys I put in with him. But had he continued this way, I had been considering buying one of those realistic "love socks" that has rice or gel in them that you heat up. Have you tried love socks?
I also think the bathtub is a very good idea, although it depends on your setup. Bud was able to climb out of the bathtub somehow, whether there was water or not! But the curvature of the tub might prevent him from bashing up his face quite so much.
That brings up something else. Last year I had to paper over part of the plexi on Bud's cage because he was attacking his reflection. It took me a while to figure this out- it was only visible during the middle of the day, when the angle of the light was just right. I never saw it because I wasn't home. Maybe taping paper on the inside of the glass/plexi will calm your iguana down some. It's boring for him to look at all day I know, but in the end, I decided I would rather have him bored than injured.
Another thing I did is that I shifted his lighting schedule. They went on later in the morning and stayed on later at night. This way, more of his "active" warm hours occurred when I was home and could keep an eye on him. When I left for work, he was just "warming up" and probably got into less trouble while I was away... I remember having to skip the gym and other things after work a lot to rush home and keep an eye on him, though!