My solution attacks both sides of the problem and even allows publishers to get a piece of the pirate market. I'm sure that most gamers will hate the idea but if it's done properly I think both sides will benefit in the long run.
My solution is that companies add more advertising to each game they ship. I'm not talking in game, product placement style advertisements but adding ads to the menus, load screens, teaser screens of the game. These ads can be deactivated by a onetime use code that is included with a new copy of the game. I can already hear the gnashing of teeth on this idea but longer term I think it's something that both sides benefit from.
Imagine a Pause screen sponsored by Coca-Cola ("Hey, you're stopping the game, doesn't an ice cold Coca Cola sound good right now?"). What about an ad for Depends undergarments ("You wouldn't have to stop playing the game if you were wearing Depends") for the same pause screen? Imagine a save game screen sponsored by Western Digital or a Load screen brought to you by the fine folks at Pepsi?. You could even have time based ones like a Pizza Hut ad one that tells you how you deserve some hot pepperoni pizza after eight hours of play Halo 3 online. The possibilities for this are endless, especially when coupled with local advertisements. While you're loading a level in Elder Scrolls: Oblivion an advertisement for the Renaissance Fest could be on screen along with a code for a discount admission. The possibilities of corporate synergies are plentiful.
The advertising infrastructure is already in place so developers would just have to create the hooks in the game and this would be a major win for game developers and advertisers. Game companies would be able to monetize the second hand game market and would even be making money off pirated games as they would be forced to endure the same ads. This would also provide all kinds of fun demographic information which can be re-sold to advertisers and marketing firms, further boosting their bottom line.
I know this isn't going to be a popular idea and I'm sure there would be a thundering roar of disapproval from gamers when and if a company did this in a game. The thing is that eventually people would learn to look past the ads completely and just see the game. Most people don't see banner ads now a days and I'm thinking that over time most gamers would adjust to the ads and developers would get a second revenue stream to help offset their development costs. I'm sure there might be another solution out there to fix the problem but I don't think there's one that's easier to implement or attacks both sides of the problem so quickly. If you've got alternatives put them in the comments.
Page 2 of 2