Consumer advocates have long been critical of gift cards that carry hefty fees and expire without warning, leaving you with a worthless hunk of plastic when you find a card in your sock drawer two years after receiving it. American Express, until now a culprit when it comes to fees, has just ditched the $2 monthly charge recipients had to pay for the privilege of keeping a card for more than a year. Unfortunately, buyers of Amex gift cards will still be saddled with upfront fees ranging from $2.95 to $5.95 per card.