The "digital" codes for Xbox Live subscriptions and MS Points are typically always priced at the SRP "suggested retail price" and rarely if ever go on sale or are discounted. It is more than likely a result amazon's cost for these "digital" products and the way that cost is handled with the manufacturer whether up front or post sale.
They probably get a discount if they order pallets or tracter trailers full of MS Points and Subscription cards as compared to several thousand "digital" codes which may or may not be generated on demand without such a discount. A discount that Amazon might otherwise pass down to consumers.
There's also the possibility that amazon has discounted the price on the physical cards to compete with other retailers and use them as a loss leader to generate additional sales on other products. There is also the fact that you are paying for the convienence of having a code instantly made availalble rather than having to wait for a card to be delivered or having to go to physical store to purchase a card. You could also take advantage of the subscription offers available direct on the Xbox 360 dashboard which are usually discounted from the "SRP" and may or may NOT include additional items, like MS Points or an Avatar item. As of this post, it's $44.99 (plus applicable tax) for a year's worth of XBox Live though this Xbox 360 dashboard offer.
You can also use amazon.com's 100 ($10) and 200 ($20) pre-order bonus points (gaming credits) from pre-ordering Xbox 360 games on the physical and "digital" Xbox Live subscription cards and MS Points. Thus negating any price increases.
Otherwise, if YOU think it's bad for the environment, then surely YOU are more than welcome to pay full price for that "digital" code at amazon or save some money and buy a subscription through the Xbox 360 dashboard.
ps. - the plastic and paper used for the packaging of the physical cards and the card itself can be recycled.
Amazon doesn't sell "used" cards given the fact that makes absolutely no sense as the cards would have absolutely no value. Sounds like someone tamperered with your package, whether on route or after it was delivered.
If your order was opened before/after shipment by someone other than you and the code used then contact Amazon Customer Support, or the Amazon 3rd party Marketplace Seller, for a replacement/refund it its been within 30 days of purcahase. Tell them what happened.