The push of underclassmen rose in direct correlation with the NBA adding 6 teams -- the late 80's early 90's. When they added those teams, that created another 6 1st round guaranteed picks, and 90 roster spots each year for all those years. They had to take players from somewhere, thus the taking of underclassmen. Once that cleared, if a player was one of the best freshman, by default he was one of the best draftable players.
The final blow was the rookie salary cap. It took away the premium on where you were picked -- being 1st round was good enough. To consider -- one of the reasons DC back in 89 stuck around to move up from being picked 11 or so to #1. Now once anyone thinks they are 1st round they are gone.
Kids always wanted to go as soon as they could be drafted -- all the way back to Magic and Isiah back in '79 and '81. Their mindset hasn't changed a bit. But then, you had to be better than the class in front of you, no longer. If the 100 or so underclassmen who left the last few years were still in college, people like Fab or Dion wouldn't get drafted at all.
Then only thing that can stop this tide is if the NBA contracts, which is unlikely.