The best? Every single one of them

. Just kidding. But, Bowser is a pretty good boss overall. The following quote says it best.
[quote author=Bowser from Super Paper Mario]But
But I'm Bowser! I'm grade-A, 100% prime-cut final boss!...[/quote]
Now before reveal the true best, I am doing the worst first.
And to do this, I am going to name some honorable mentions. At the bottom of the list is the regular NSMB battles. They're basically the same as SMB1 without it being that. Though, NSMBU gets credit for an actual axe. They're saving grace is that it is updated enough. Up next is Tutor Bowsers in Superstar Saga, Partners in Time (baby version), and Bowser's Inside Story. They really don't show Bowser as a good boss. Though, Tutor Bowser being a tutorial for battles gives it the reason for its lowness. The final honorable mention is the first SPM fight. The player can only attack using Boomer (a bomb). Most bad players go into 3D to get out of Bowser's attacks. And Tippi is gone during the fight making the player figure out how to defeat Bowser. Though, they did use Boomer just before the fight. Luckily, it is not an hard fight once you know to use bombs, but not too easy either.
Now some others that are bad, but not the worst. And apparently they all been mentioned. SMG2 final fight part 2 and Super Mario 3D Land are the ones I am going to be picking as bad but not the worst. Also, 3D Land is probably the worst due to either the battle is too long or the attacks don't really matter. Only the final Bowser boss in that game was good, but still was long. So long that if one failed the last part, they're going to be a while to get back where they were. They only new one I can think of is Shrowser from Partners in Time. It is bad because of it relies on defend attacks. If the player is good at these, it is too easy. If the player is bad at these, it is too hard. It definitely feels like an unnecessary battle.
But now here is the worst Bowser fight that I encountered. I may seem unofficial due to it being in Super Mario Maker (for Nintendo 3DS), but it is Nintendo that made Bowser like this. They programmed Bowser to take 20 hits when regular and 40 hits when big. So, because of this number, I consider this the worst Bowser battle. Big Bowser in a Koopa Clown Car. But, that is not all I am saying about the battle. But officially, big Bowser in a Koopa Clown Car is the worst Bowser fight. First, there is the fact that it takes 40 hits to defeat him. Second, since he is in the Koopa Clown Car, he is going to be in the air rather than near the ground. Third, if a player loses to him, they're end up at the last checkpoint or the beginning of the stage; thus having to restart at 40 hits left. Fourth, he throws 4 lit Bob-ombs from the Koopa Clown Car, which explode soon afterwards. Now, the creator of a level can help the players out a bit for this fight. But, here I am going to show you the worst case for the player to be in while still be able to defeat Bowser. First, if Mario can't also fly, he is at a disadvantage due to Bowser almost always being higher. Second, the ground is flat and the arena is about one screen long. This removes any change of Mario getting higher than Bowser. Also, one screen is the best area for the fight. Too small and the player can't hit Bowser. Too large and the area to cover is too big. Third, the game style is New Super Mario Bros. U or Super Mario Bros. 3. Super Mario World offers one thing that no other mode provides: the ability to stuff up. Without this, the player is stuck trying to lure Bowser down to get a hit on him. Super Mario Bros., on the other hand, removes all abilities to carry objects. This makes Super Mario Bros. impossible to defeat Bowser with with one exception, but this setting is still hard: Fire Flowers. Fire Flowers give the player fire balls to shoot. And because Fire Flowers are just a little more powerful than other objects, it is the fourth thing I am removing. Along with the Super Leaf and Propeller Suit. Removing these two removes all hopes of the player being able to get height advantage. Also, if you are following this set up, please give the player infinite Super Mushrooms to deal with. Otherwise, it is going to be almost impossible. Fifth, have the only object to hit Bowser are the Bob-ombs that come out of Bowser. If you followed this correctly, you have the worst singular Bowser battle ever. Wait. This is only a single Bowser we're talking about. The truly worst? Try fighting three of those at the same time. Because, Nintendo allowed up to three Bowsers per level. Do not care whether or not that the player will get height a height advantage. As long as they are not Fire Koopa Clown Cars, it'll be fine. And dying after defeating one or two makes the three reappear at full health when the player gets back to them. Fortunately, I never encountered this yet. But I have for singleton Bowsers.
But, besides those, adult Bowser in Yoshi's New Island, and some other Bowser battles I haven't played. All are good.
But, which one is the best one? Or ones? Super Mario Galaxy battles especially the final of the three, Bowletta of Superstar Saga, Bowser + Paper Bowser + Shiny RoboBowser of Paper Jam, and Bowser X of Bowser's Inside Story. I would also like to say Dark Bowser of Bowser's Inside Story, but the player is fighting as Bowser. So, I will give it the best battle with the player as Bowser.