It is certainly the responsibility of the contractors to retain talent. This is extremely difficult for the reasons you've mentioned, and the fundamental problems are simply that working with the government (or any enterprise) is insanely administrative-overhead prohibitive and tends to lock you into operating specifically for just the government. Most DoD contractors in the beltway besides the usual big ones are starving for contracts and those that have survived are now involved in commercial work for a lot of their business probably. Growing most of these contracting companies is similar to trying to grow boutique web design businesses only far, far more expensive.

From a talent pool perspective, for every person like Mikey Dickerson (US Digital Services, Healthcare.gov overhaul) you have now 10 people that are barely able to understand what DevOps even stands for as much as 100 acronyms and jargon only applicable to government systems and regulatory measures. Mikey doesn't even have to think about an SF-86 probably - who can you clear for a TS now that's considered top talent by Silicon Valley standards when these people would have these same companies trying to knock their door down?

It is currently against young developers' best interest IMO to join anything BUT the most interesting, high-talent seeking government contracting companies IF they have any thought of going into that line of work. They must also be prepared to have their work oftentimes be thrown away and be laid off repeatedly as these projects tend to be extremely tough to sponsor now in today's post-sequester era of contracting. It's heart-breaking to see the junior developers I saw across so many companies wasting away their talent on oftentimes rather stupid work due to completely inane reasons solely related to being government work.

You're on the right hunch to where the end-game is. The end-game state with the current trajectory is 2-3 huge defense contractors that mostly do non-tech contracts stuck with loads of useless retirement-age administration amid pockets of some competent ones all in charge of scores of kids that just couldn't get into GOOD software companies... and Google, Microsoft, Amazon supplying the majority of the underlying technology. All the "integrators" will have been absorbed into mid-tier companies probably and the various Pentagon incubator-ish programs considered failures for lack of innovation AND lack of projects successfully seeded.

Myself, almost all my ex-coworkers from DoD-centric companies, and a good number of people I've been interviewing are completely throwing away their DoD / government backgrounds in their careers for greener (we know for sure) pastures. There's just not enough funding for interesting work and DoD is contracting back toward its fundamentals of creating jobs for opportunities that are really, really boring that nobody talented or interested in being able to cite an interesting project in a job interview wants to spend time on.

US DoD's leaders are not completely stupid and have finally managed to get Amazon's GovCloud approved for certain uses. IBM sued of course, but how many people even use IBM's cloud again in industry? Getting stuck in the vendor wars of its time is something DoD definitely doesn't want to do, and this time around it sounds like someone actually might get slapped for buying IBM.