One thing I certainly know is that baseball has been in the shadow of most popular sport, because a lot of things isn't just right about the organization of the sport first, the sport needs re-branding, they need repacking of their system of operation, nobody wants to sit four hours for something not even more thrilling.
It's a make or Mar situation and things had gotta change for baseball to be something people want to reckon with
One of the things that I think could help baseball be more competitive would be to have a hard salary cap again. Yes, they have some form of luxury tax, but if they had a hard cap like the NFL, one team wouldn't be able to stack the deck by having a disproportionate number of star players. Then any team would be more likely to have a shot at winning or reaching the playoffs. Having superteams like the Red Sox and Yankees is bad for the sport in the long-run. If the same teams win over and over, they get the international fans, but you don't have the local support for the other teams. People are not as interested because "the Yankees are going to win again, so who cares!"
Just my thoughts. :)