I think the German Bundesliga has it exactly right (or as close to exactly right as you're ever going to get).
Like every other European football league, they have promotion and relegation. The two worst teams in the league are automatically relegated (and the two best teams in the 2. Bundesliga are automatically promoted), and the third worst team in the 1. Bundesliga plays a home-and-away match against the third best team in the 2. Bundesliga (the winner is either promoted or retained, and the loser is either relegated or retained). Their television deals are set at the league level, not the team level. If you want the television revenue, you're going to need to field a team that is capable of staying in the league.
The German Bundesliga also has a 50+1 rule in place where 50+1% of each team must be owned by fans and not more than 49% can be owned by investors, corporations, etc. Yeah, they have teams like Bayern, Leipzig, and Wolfsburg who get a ton of money from outside parties (Leipzig actually breaks the 50+1 rule, to most teams' fans' consternation), but for the most part fans retain the controlling interest in their respective teams..
Like other European football leagues, there is no draft at all in the German Bundesliga. There is also no minor league system. Each team has its own academy that it signs youth players to and promotes from, and the academy teams normally play against smaller senior teams, semiprofessional teams, and/or other academy teams. The academy teams can be promoted if they win the league they play in -- unless promotion in the league puts them in the league immediately below the senior team.
There is no salary cap in the German Bundesliga, but they do limit contracts to not more than 5 years in length. Unless I'm mistaken, this includes extensions. So if we had something like this in MLB, then the longest extension we'd be able to offer Byron Buxton right now would be four years. Likewise, the longest extension we would have been able to offer Berrios last summer would have been three years. Players with six months or less remaining on their contracts are free to sign pre-agreements with other teams (again, not longer than 5 year deals). If we had something like that in MLB, then we'd really only have until around the all-star break to figure out the Buxton situation or we might be left with literally no compensation if he left.
It would be a huge, huge departure from the current system MLB uses, and none of the current team owners would take kindly to it at first, but I'd love to see what would happen if it adopted something like the German system. As it is, the German Bundesliga is an entertaining and competitive league (even if there is a competitive imbalance at the top). The stadiums are always full, none of the teams really spend their way into the poor house nor try to completely cheap out on player expense, the tickets are always cheap, the crowds are always highly engaged, and the top teams (not Bayer Leverkusen) generally make a good show of it when they play the elite teams from Europe's other leagues.