Having Baby Bowser, Koopa Kid, and Bowser Jr. is kind of redundant because they all share the same character design now...
They can look similar, but are completely different characters(unlike Mario and Baby Mario, who are the same person. Metal Mario is now arguably a different guy in the Kart games, having a unique personality. He's also normally a simple power-up, which makes this odder). The Koopa Kid/Bowser Kid is based upon the Koopalings overall. Bowser Jr. was clearly an expy of the Mario Party Koopa Kid. And Baby Bowser has nothing to do with them, of course.
I think they all have similar designs because they all were "mini Bowsers" ideally. ...Which considering their name is obvious. IMO, I would rather every Mario Kart character has two unique skins. Basically a costume. Possibly to reference someone else. Baby Peach could have Baby Daisy(namely to get rid of that awful character). Baby Mario could have Baby Wario, and Baby Luigi could have Waluigi(yes, I went there). I'd say Bowser Jr. could have Baby Bowser, and Diddy Kong could have Donkey Kong Jr.(keep in mind they were at one time supposed to be one in the same). Donkey Kong would have Funky Kong. I'll give you one guess what Bowser would have.
Mario has Metal Mario. Luigi has... I dunno? Maybe his Raccoon form or something? They don't have to all be unique characters. Toad could have Toadette. Peach would have Pauline. Some wouldn't, like Daisy and Rosalina don't need any. King Boo is fine returning as well. Maybe Baby Bowser could have one Koopaling(there's 7 if I remember correctly) and the other 6 would pair off in 2's each for a total of 4 characters on the screen.
I know the costumes sound silly, but this is a good way, imo, to enlarge the roster without taking away slots from really fun characters. Those are just some ideas anyway.