I used to ask the same question until an acquaintance of mine from Japan showed my an interview with game director Kosuke Yabuki. Essentially, the developers had settled on having 16 characters + Miis from the get go. They wanted to have 4 new characters, so that left 12 returning characters available.
Mario, Luigi, Peach, Yoshi, Bowser, Toad, Koopa, Wario, and Donkey Kong were all too big to be left out.
Daisy and Rosalina were characters that had been very popular with female players of Mario Kart Wii, so they had to stay in the game.
Finally Shy Guy was a character that allowed them to have both a returning character (He was in Mario Kart DS for players using download play), and someone fans really wanted.