If Master Balls were only 150K, I could go catch something worth 10s of millions, then go buy 100s of Master Balls repeating the cycle. This would unbalance the game and make it less fun. Selling the Master Balls for the price of the most expensive pokemon being sold, from what I have heard, around 200M, would stop this from being profitable, and maybe help keep the prices of certain pokemon lower.
Personally, I wouldn't allow Master Balls to be common things. They are suppose to be special and unique. I would suggest the players be given 1 Master Ball from the Pokemon Professors for each 50 pokedex entries filled. With 300 pokemon in the game, that would be 6 master balls.
Also, having events every 2 weeks that would allow players to earn 1 Master Ball would give tons of incentive to players to participate in such events.
Also, it might not be such a bad idea to make Master Balls purchasable for 15 tokens in the token shop, or whatever the current max is.
As for the rest of the balls, I haven't seen much need for them, especially if we had Master Balls and regular pokeballs. But I have entertained the idea of having some extras to choose from.
From a developers standpoint, just adding 1 more ball takes quite a bit of time to program, and test to make sure its working properly. If its catch rate was 100%, it might be a tiny bit easier to program. So I believe just adding the Master Balls would suffice for now, and satisfy most players.