Baseball is unique because of its slow development pattern, but also really extreme.
MLB: six years of major league service, which means a player can be the property of a single team for as long as 11 years.
NFL: Four years.
NHL: 27 years old, or seven years.
NBA: Basically four years but with many restrictions.
What baseball players actually deserve, IMO, is higher signing bonuses and higher minor league salaries, particularly in AA and AAA (because once a player has made it that far you can at least be confident he's a worthy investment). And then significantly higher salaries early in their major league careers.
Not sure either side would be sold on a performance-based system though so I'm not sure exactly how do it. Tying it to draft position obviously doesn't work either, by the time they get to AAA a 5th-rounder or 20th-rounder might be worth more than a second-rounder.
Obviously when Joel Embiid or Carson Wentz or Nolan Patrick turnes pro they are almost immediately impact players, or close to it, whereas in MLB you just don't know what you are going to get for your money in a player's first few seasons (Scott Kingery vs. Ronald Acuna, for instance, and then there's a whole other variable with pitchers).
And restricted free agency really only works in a salary cap league. Like, if Ryan Howard was an RFA early in his career the Phillies would have either signed him or matched someone's offer. That wouldn't be tenable for the bottom half of the league. Arguably, the league is already untenable for them, but now they get 8-11 years before they can no longer afford their stars. Can you fix that with more revenue-sharing (which the owners don't want) or more of a hard cap (which they players don't want)?