I'm sorry, don't take this personally, but the "capitalist ideal" applied to baseball economics is intellectually lazy.
In actual capitalism, the entreprenuer has much more freedom to place his business where the consumers are. If Main St is where everyone shops, he/she can choose to pay the higher rent for a Main St shop and be where the market is. Or, he/she can go off Main St and try to prosper there. Most importantly, of course, is that it's up to the business owner.
Not so in baseball. MLB is a collective union of baseball team owners who have banded together and make decisions that they feel are in the best interests of the whole league. KC can't decide, "Our market sucks, we're moving to NY", they have to get league approval for that.
NY, and Boston, and LA, etc, those teams all make so much money because of where they are. Sure they do some creative things to maximize their revenues out of their market, but the notion of them "earning" more than their competitors in smaller markets is laughable. It's like giving Saudi Arabia credit for leading the world in oil production.
I readily acknowledge that baseball is a business. It's entertainment business. The entertainment it is selling is sports competition. It's selling a bogus product right now, because sporting competition, in everyone's mind that I know, is about a level playing field. When money is the means by which teams staff their rosters with talent, the money needs to be equal for the field to be level. The current system is tantamount to giving some Little League teams extra picks in each round of the draft. Would anyone think that was fair?