Here's my solution that's minimal DRM, gets more second hand revenue for devs, doesn't completely cut out Gamestop, but does sort of kill private sales.
All games need to be activated online once, but
-no periodic DRM checks
-Install to HDD and play the game without a disc check
The solution is to charge an online activation price, but have it decrease based on how old the game is. We keep the game at full retail launch price for the first 60 days. Then afterwards the price comes down slowly over the course of a year or so until it hits bargain bin prices. Basically at the rate games typically come down in price at retail currently.
To cut Gamestop in on the deal, let them offer vouchers that give discounts upon activation for any used game bought from them. For example:
1) Joe Blow sells his copy to GS for $5 (this is a constant)
2) GS sells the copy for $15 with a voucher of $20 (24 hr time limit to use)
3) Buyer uses the code to pay $40 ($60-$20) to unlock the game
4) Buyer saved $5 off of the current retail pricing of $60
So as the game gets older, the retail and online activation prices drop accordingly, while trade-ins and GS profit remain roughly the same: $5 and $10 per title. The typical savings for buying used will be $5-10, depending on retailers pricing.
Addendum:
-If you keep the game disc, you get a discount off every DLC for the game, or some future freebies
-If you want to lend a game to a friend, you have to deactivate it online before you give it to him so he doesn't have to pay up. Your local HDD copy will no longer work until you reactivate it on your machine.