The ultimate solution to this problem is getting rid of gift cards altogether. Just give cash. People complain that giving money is not thoughtful. Like going to the nearest CVS and paying $105.95 for $100 American Express card any more thoughtful.
Gift cards only give the illusion of being thoughtful. I'm not sure why people are offended when receiving cash. There's really no up side compared to cash. It's less convenient for both the giver and receiver.
I guess it's a cultural thing (I'm Asian). I've always received cash from my parents and relatives and love it. I can spend any where, any amount, or not at all if I want to save it.