vs
Ganondorf wins, 8:2.
While Bowser has the ranged attacks, yes, Ganondorf makes up for very quick and relentless punishes, and a faster air game than that of Bowser; when comparing attack speed, Ganondorf has a faster air game thanks to his U-Air and B-Air having faster start up, end and landing lag, as well as N-Air being a more efficient attack with Dorf than Bowser.
Ganondorf's ability to jump lower than Bowser offers him more assistance to attack him, since Ganondorf has more options than Bowser in mid-air, thus a more reliable air game. As well, if Ganondorf is launched upward by Bowser, Bowser doesn't have many options aside from U-Air, while Ganondorf has his Down Special, which, if hit well, will KO Bowser off the top of the stage.
Ganondorf also has a far better combo and grab game than Bowser; Ganondorf can at least combo with his throws, and has the most powerful throws in the game, allowing him to get in on his opponents. While some may argue Ganondorf has a worse grab game, remember, only Ganondorf's grabbing is bad due to his slow speed.
Bowser does have advantages, such as his faster ground and air speed, as well as his weight and size and even recovery. However, Ganondorf will defeat him in major categories, such as edge-guarding, due to Bowser having less edge-guarding capability than Ganondorf, as well as Ganondorf beating out Bowser due to the outrageous size of the latter.
In fact, it's Bowser's outrageous size that allows Ganondorf to wail on him, since Bowser has a terrible time against Ganondorf if the latter uses Flame Choke. Bowser is easily a heavy target against Ganondorf, obviously.
In terms of damage and knockback, the clear winner is Ganondorf, with the astonishing fact that he can hit Bowser with two hits of the U-Smash in succession and still wail on him with a combo for ludicrous damage. Ganondorf also has the immense knockback and capabilities of KO'ing Bowser earlier than vice versa.
In terms of reads, Bowser is easier to read and punish than Ganondorf. Ganondorf has that unexpected nature that Bowser doesn't, and thanks to the IASA frames and automatic transcending priority provided with Ganon's U-Smash, he could use that, use another U-Smash or play mind games with characters all day long.
Lastly, Bowser only has one shield breaking move, his Down Special, if both hits connect without being punished by perfect shielding. Ganondorf on the other hand...
Fully Charged F-Smash, Aerial Reverse Warlock Punch, Up Tilt and Warlock Blade's Tip will shatter shields instantly. If not that, he has crazy shield pressure against opponents, with most of his attacks, save for his jab, dealing massive shield damage.
In short:
Combo Ability:
Range:
Speed:
Air Game:
Ground Game:
Shield Pressure:
Read Game:
Attack Power:
Ground Attack Speed:
Air Attack Speed:
Durability:
(Tie)
Edge-Guarding:
KO Ability:
Benefit from Rage:
Mind Games:
You just cannot get too close to Ganondorf as Bowser, or else you will indeed get punished heavily. But this is from my experience playing Ganondorf against Bowser, and Ganondorf is the superior one in my opinion.