I'm going to go with Cloud, like someone else said him overcoming all the crap he did. Most memorable heroes arent perfect, many times they have a flaw that they must either overcome and be lost because of. Clouds flaw was his past, and because he was able to overcome it so well, and not only remain sane, but sane enough to STILL go and save the world... makes him a better hero than Zack
Cloud spent a majority of FFVII thinking he was Zack. He clearly idolized the guy.
Not really true. Clouds fragile state after the death of Zack really f'd up his mind. In a desperate attempt to stay sane, clouds brain incorporated memories of Zack into his own being. Not that he idolized him, but simply he was the closest person to Cloud when Cloud needed something to grab onto.. Had it been someone else, say Random_Soldier_02, Cloud probably would have incorporated parts of that guys memories/emotions into his own too. Its simply a defense mechanism of the brain- in an attempt to block out a painful and shameful past