I definitely like to use them for legendaries because it saves a lot of time and hassle in trying to catch them. I've had too many times where the legendary just ended up killing itself with struggle to not masterball it. I solved the one masterball per game problem by just catching a different legendary each time with the masterball. I'm planning to use it next for the legendary dogs whenever I restart HeartGold or SoulSilver (which I won't do until I obtain spiritomb, because I'm on the final Pokewalker route right now on HeartGold, but I rarely get the chance to take 9000 steps, so I may wait till BW2). The masterballs will come in handy with the Unova legendaries as I go along. It certainly helped me get all the Sinnoh legendaries by restarting Diamond and Pearl to get more masterballs.
As for shinies, I'd rather take my chance with pokeballs.