If you're talking literally, it would be Zack. Who played the role of a run-of-the-mill hero.
If you're talking about in context of what makes a good story, it would be Cloud. His flawed and weak personality is what drives the game, and makes it interesting.