It's darned near impossible to get fair value for a superstar player. If you get a package of prospects for him and just one of them turns out to be a solid to good ML player, you've probably done alright, or at least the best you can reasonably do. See Cleveland with Carrasco for Lee, Toronto with D'Arnaud for Halladay, even arguably the Phillies with Padilla for Schilling.
The just-traded Luis Castillo is another rare traded prospect who becomes an elite ML talent. Marlins traded him to the Reds for Dan Strailey in January of 2017. Castillo was traded four times before he made his ML debut.
The Mariners probably did not get comparable value for Randy Johnson in 1998 but managed to get three legit MLers for him in Freddie Garcia, Carlos Guillen and John Halama which was a great return, all things considered.