Yes, contracts are the only way to fix it. Lock someone in for 2-3 years and have some stability. Of course, they can get out of the contract if they choose to go pro.
I liked Teague, but he's never been bright. He almost cost us the game against UNC when he started traveling with the ball right before the horn. Luckily, the refs are blind.