Sam Raimi had an interesting quote when he was talking about his Spider-Man movies. Raimi said that he figured out what story he wanted to tell, and that informed him of who his villain was going to be. It sounds like both David Goyer and Christopher Nolan share the same philosophy. Goyer explained that was exactly how he chose General Zod as the villain for Man of Steel.
“The way Nolan and I have always approached the Batman movies as well is you never say, ‘Hey, which villain would be cool for this movie?’ You start with the story first,” Goyer said. “What kind of theme do you want to tell? So we worked that out. Then, usually the villain becomes obvious in terms of who’s going to be the appropriate antagonist for that.”
The theme in Man of Steel is about an alien on Earth, someone out of place who needs to figure out his place in the grand scheme of things. He is an outsider from another world, and that other world wants him back. He has to learn how to be a hero and that made General Zod the perfect villain, because he is the man who wants to stop Superman from achieving his destiny.
When the movie was starting, a lot of people online whined about Zod being the villain because it had been done before. That is stupid, because look at how great The Joker and Two Face were for Christopher Nolan, despite the fact they had been done before. From the looks of it, Michael Shannon has nailed it with his portrayal of General Zod.
I am pretty happy that Goyer said they chose General Zod based on the story, and not just because he was the most iconic villain in the original movies. Whether or not he will ask someone to kneel before him or not is still an unanswered question though.