User blog comment:Nkstjoa/X vs. Zero/@comment-56020-20161022113736

This fight actually happened in canon... And was supposed to happen a second time too. But we'll get to that in a moment.

The first time the fight happens is at the end of the X series with Mega Man X5. The downside to this is that it's Virus Zero, meaning Zero isn't... All there. He's just a program bent on destruction at that point, and naturally, X wins that fight so he can challenge Sigma for the last time (in canon, not counting the AU that takes the X series further starting with X6- main Mega Man canon has the X series ending with X5, with the final death of Sigma and arguably of Wily as well).

Then there was the time that Inafune planned to have a rematch: Mega Man Zero. The final battle in the game is against a fake Mega Man X that went crazy in his attempts to "protect humanity"... But as Inafune planned the story, that was originally intended to be the real X. Since the result would have been the same either way, we can conclude that according to the series creator, Zero would indeed beat X if they were both at the top of their game. So Zero, all the way.