Here are several ways to earn holes:
1)Win tournaments in Advance Tour
2)Get Memorial scores in Advance Tour
3)Beat all characters in both Advance Tour and Toadstool Tour
4)Beat mini-games in both Advance tour and Toadstool Tour
5)Just Link up to Toadstool Tour.
6)Gain exp. in Toadstool Tour? (I think that just gets you Luigi's star character)
As a final note, I don't believe that the hole you get depends on the mini-game (though the course it is on does), so, if you run out of ideas, play tournies over again.
Too many numbers...