The price hasn't skyrocketed, it's at the SRP set by Microsoft. Amazon discounts the price from time to time, and setting it back to the SRP when the MW3 promo was issued isn't much a issue when the overall price is still $35 after the credit. Where else are you going to get a XBL 12 month redemption code from an authorized retailer for $35 without having to wait for a delivery or pickup in a store?
It's pretty reasonable to expect that a truckload of physical cards can net a retailer a volume discount vs a "digital" truckload of codes that most likely wouldn't.
I highly doubt amazon has much of a margin on the digital version of this product and possibly doesn't have the option to undercut the price on a whim. Then again, these have been discounted, from time to time, throughout the year(s) they've been made available.
If you bought MW3, then you should have the $25 off the price of the Online Code version which expires on Nov 23, 2011. $35 for a year's worth of XBL is a good deal.