That would be Kuja (for me). At the end he was the one who sacrficed his own life to save the main characters and then he died as a good guy.
He didn't try to sacrifice himself to save anybody he used Ultima in hopes of destroying all existence. He was just going to lie in the tree and die, but Zidane didn't feel that it was right.