The NFL is a totally different animal. Teams that constantly lose do have difficulty pulling in fans, for example Jacksonville. But, two crappy teams playing on MNF in a meaningless game will draw more viewers than the World Series, NBA Finals, etc. The NFL and College Football is just a magical beast.
I agree with you though - I'm not sure a salary floor fixes the problem, either. Teams still need to be well run and it doesn't really stop teams from stinking in sports that have salary floors.
I think a comparison between MLB and English Soccer might provide an answer. I'd argue that the Premier League has a bigger problem with mega-rich teams dominating the standings than MLB. But with Premier League - they also have so many other side-competitions that you can be in last place and your team still has something to play for. They have two knock-out tournament cups, relegation, Champions League, Europa League.
Perhaps what MLB's problem is they only have one competition and one trophy. Obviously, relegation will never happen - but I think more creative ideas could help. I think the Field of Dreams game and the national interest that came with it really shows that fans out there are interested in new and different things. Just for starters, what if there was a single-game, knock-out tournament that happened throughout the season? And, rosters could expand for this tournament to include a team's top prospects and maybe recently-retired veterans, so that the regular 26-roster doesn't have to be used up?