Its hard to say. Sephiroth has an immense power, but he is a broken and twisted man, and does know nearly as much as he thinks he does. Cloud, on the other hand, is a fairly powerful man with a few genetic enhancements do to the Jenova cells, but he is incapable of forgiving himself for the people he let die, Aerith in particular. Of course, that need for forgiveness also fuels his need for revenge, thus giving him a stronger need to kill Sephiroth. Sephiroth has nothing to fuel him except power and his alien "mother". I'd say Cloud.