I think Mario should stay the primary mascot because the Mario franchise does represent the company better than the Zelda franchise does. With Mario characters appearing in all kinds of titles, from the main series, to off-shoot titles, to sports and party games, Mario really covers the spread.
I forget where I read it, but at one point Mario himself was counted to have appeared in over 200 Nintendo games. This included cameos, and bit parts such as his stint as a boxing ref and such. Link's made a few cameos, but really, nothing close to Mario's staggering total.
So while I love Zelda through and through, I don't think Zelda, Link or the LoZ franchise really deserves to be top-dog in terms of a singluar mascot.
Now, when it comes to Nintendo as a group mascot, I really do believe Zelda's go a place. I think the big three, Mario, Link and Samus, really represent the spread of types of games. It better represents the "hardcore" gaming aspect of cartoon / platforming, adventure / fantasy, and action / sci-fi. So, while a single mascot should always be Mario, mutiple mascots should be the Big Three.