MLB doesn't really have a spending problem the majority of the teams are near $100m in payroll. The teams at the bottom of the list though definitely have a spending problem.
These nine teams are the problem especially the A's, Orioles, Pirates and Rays. The Rays look like they will be getting a new stadium soon so they should be able to spend more once that is in place. The Orioles should really be where the Brewers are in terms of team payroll and them being at $50m is just a joke. The A's are in a bad spot right now with no new stadium and uncertain on where they are going to move. The most likely destination is Las Vegas but I wouldn't rule out Nashville or Charlotte. Nashville makes the most sense for the A's too move to as that makes the most sense financially. If the A's move to Las Vegas they are basically in the same situation they are in now but with a new stadium.
To fix this spending issue the minimum floor needs to be set at $100m and then climb $10-20m depending on league revenue every two years this would be for both the floor and ceiling.
There are some simple solutions to this if you are below the league minimum cap you don't receive revenue sharing from the league. If a team is below the league minimum for two years (can be a combination of back to back years or in a span of 5-years) then you lose your 2nd round pick and 10% of their international bonus money. If a team is below the league minimum for three years then that team loses their 1st and 2nd round picks and 50% of their international bonus money. If a team is below the league minimum for four years then the team loses all of their draft picks and all of their international bonus money. If a team is below the league minimum for five years then that team is now a AAA affiliate and will have to reapply to become a MLB affiliated team in 10-years. If a team doesn't receive revenue sharing and they are below the minimum for one year in a 10-year span they will pay a fine of $100k per $100k under the minimum floor there is an escalator for the fine of $1m per $100k for 2-years, $10m per $100k for years 3-4 and year 5 is the team becomes a AAA affiliate and then can reapply to be a MLB team affiliate in 20-years or pay a fine of $100m.
For teams that go over the cap for years 1-3 they forfeit their 1st round pick, 25% of their international bonus money and pay a fine of $1m per $100k over the cap. For years 4-5 over the cap teams forfeit their 1st and 2nd round picks, 100% of their international bonus money and pay a fine of $10m per $1m over the cap.
All fines are paid to the teams that receive revenue sharing and are above the minimum salary floor by at least $10m. All revenue sharing that is received must be used for payroll if the funds are not used for payroll the team forfeits their revenue sharing for the next five years and will have to reapply for revenue sharing. All draft picks are redistributed to all teams with revenue sharing teams getting a higher percentage of chances to win (revenue sharing teams that spend more on payroll get a higher percentage). International bonus money is redistributed to teams that receive revenue sharing only with teams that have a higher payroll getting the majority of the international bonus money.
There fixed the cap issue. Now just need to fix the revenue problem for the small market teams. I see someone mentioned having teams receive 100% of their ticket sales which would be a good idea I am just not sure that would be enough. It maybe enough if there were a lot of teams paying into the luxury cap each year. The easiest solution would be to just pool all of the leagues TV revenue and have it evenly distributed to all of the teams with each team receiving 100% of their home ticket sales. With that change that should even the playing field for the teams revenue streams.