Except, like it or not, Tony Stark
does have a memorable villain not only in this film, but in every Iron Man movie: himself. Iron Man 3
is not a movie about a good guy improving to fight a bad guy, it's about a guy improving to fight his own flaws. The 'hero vs villain' game is effective, but not necessary when you have an alternative which is as interesting as that one. IM3 had a chance to portray Tony Stark's definitive villain onscreen and did so, just not the way you expected it because Tony's worst villain in the film is himself: his past mistakes and insecurities come to haunt them either physically such as the case of The Mandarin
or psychologically such as his inability to properly function without the armor during a good part of the film. His fight against this problems is his fight against the villain, because the villain is just an extension of what he did wrong. So yeah, Batman has his Joker, 007 has his Blofeld... Tony Stark has Tony Stark.