While of course there is the problem of the agents and the "american dream" that can work only for uneducated people as someone else said, my opinion is also that young players don't have enough chances in many cases.
The KHL should give the teams a much harder limit on number of (full-time) roster players (I think that at this point CSKA and SKA have 100 players in roster combined) so to achieve two things: 1) players will be more spread with the different clubs and 2) young players will have more space.
If you let young players play, they'll stay. Of course, not them all, but a good percentage.
And teams should have more long-term goals. There's no need for a team like severstal to change coach three times a year, signing veteran players and trashing money on expensive foreign players. Have for 3 years a young team, rebuild, they showed they can produce good players (buchnevich, shipachyov, ketov, kiselevich, chudinov) and then we'll see.
Look at what Bardin told me last week:
http://thehockeywriters.com/behind-the-mask-with-mikhail-berdin/
THW: After the season with Team Russia U18 you moved overseas. How did it all happen?
MB: I started the season with Severstal, but I wasn’t given a chance to play in the KHL, therefore I decided to continue my career in North America.
and
THW: Playing in the USHL you probably don’t have many chances to be noticed by national team scouts. You weren’t called by Valeri Bragin to the Canada-Russia series.
MB: Well, what kind of chances would I have got if I spent the whole season in the KHL without getting any ice time?