To be honest I dont blame them. This is one of the few areas where a used version of a product can outsell a new version, when the new version is still selling. I have no numbers to back it up, but I think its reasonable to assume that 1 week after a new game is released, 25-40% of the sales of a new game are used, which was sold for less, and those could have been new sales. Every week after that the used numbers increase.
People dont buy a 2012 Prius, then one week later sell it. By the time someone is ready to sell theres its old and does not directly compete with the current models. Most physical goods also have wear and tear, but a game is always the same. I think the online codes are reasonable, but what might be better is a moratorium of used sales on new games for a couple of months. Somewhat like what the movie studios are doing with Netflix and new movies. I would think like movies, game sales are highest in the first couple of weeks of release.
Or publishers can establish a credit system. Send them your game after you are done and you get 30-40% (or equivalent trade in value) off future titles, and then the publishers can resell the game. As it is now, a publisher not only competes with other publishers, but its own products.