I think that if there's a villain, that's Jenova. ShinRa at the end partly fought with Cloud's team, and Sepiroth's just gone crazy because of finding out about his origins. He was more of a person, to destroy the whole planet... while Jenova appeared long time ago and attemped herself to become a God. Sephiroth was probably helping her, because it meant destruction of the whole lot of people. Besides, he was injected with her cells, so we can't know if he was controlling her, or she was controlling him. I think it's that Jenova controlled Sephiroth.