Football may be king per game but baseball still plays 10 times as many games in which to draw revenue from.
As for the "urban" problem I wish people would say what they mean. Not enough black players. Its complete bull**** in my opinion. No one is saying the NBA has white problem because the amount of white players is so low compared to their percentage of the population. The real problem is that MLB has left loop holes in the system to give big market teams an large advantage. Its a miracle teams like the Royals or Pirates even have fans after what they went through. If I grew up in those cities watching the Yankees spend 5-6 times as much as my team I wouldnt watch baseball either. If I want to watch a farm club I will go watch actual minor league games. I think baseball has the most unpredictability when it comes to players performance/health and that and a lot of incompetence by owners/gms is the reason we have any sort of parity.