True, but in that real life example, it's very likely that all other teams in the league knew beforehand that Gasol was available, and they had the chance to make a counteroffer, but passed (bringing up one possible refinement to the trading idea - all league managers get to see the proposed trade with a certain amount of time before it is to be executed. If one of these managers makes an offer deemed to be "better" than the original, the initial trade partner must accept that new offer, or nothing at all. Hmm...)
And in real life, the team giving away more than it got is still gonna be a team, with real fans, real expenditures, and needing revenue. Here, too easy for the team go bot, or relegate, and not have to worry about any repercussions of bad trades (now, adding something relating to fan survey and bad trades is an interesting idea - throw that into the mix. You make an unbalanced trade sending off one of your best players, and the fans punish you for a long time, until you surpass your team level at the time of the trade).
Still, the question for me hinges around, "...as long as it isn't too ridiculous"
How, in practice, is that going to be determined. Is it total skill points? Well, nobody thinks going from 8 to 9 jumpshot is the same as going from 1-2 shotblocking (now colossal to legendary, that's a different story. We all know the worth of that is asymptotically approaching infinity.) Salary doesn't work because some managers put, and some positions have, different 'worth' in secondary skills. If you propose something really concrete to address this, I'd love to hear it.
Currently, players are valued based upon what the TL market sets their price at. It's not totally efficient nor perfect, but it seems the most fair way to do it.