I might make my own thread on this where I can go into further detail, but there's an alternative solution that I don't think has been brought up yet. As some have pointed out, it is indeed possible for a jet black villain to be an interesting antagonist, as there are many examples. Ninty clearly wants Ganon to be one of them, but I think I know the reason he falls short where the others succeed. Think of all your favorite baddies and why you love them; I'm willing to bet it's not because you were told how evil they were, but rather because you got to see them in action.
There's a theory based on unused sound files in WW that Ganondorf would have killed Jabun; that would have been nice to see in a game where he just stands and talks for 90% of his screen time. I believe this is the true reason Ganon is such a lame villain; Nintendo never wants to do anything but hide him until the end of the game, while expecting us to just hate him because they said so. If they could simply give him more presence in the story and let him carry out his deeds in real time, I'd be all for his Muahaha Mustache Twirling presentation.
Of course, villains like that get old after a while, so obviously they're going to have to give him some depth sooner or later, but I believe this could be the starting point for making Ganon... less of an embarrassment, at least.
This is definitely true for me. Perhaps Ganon's biggest flaw is that he just doesn't spend much time on screen. We don't see him doing stuff so much as we just see the apparent consequences of it and some NPCs who will opine about how bad the stuff he did was.