Just because you buy something that was made in a foreign country doesn't mean that anywhere near the majority of that money goes to the foreign country. Retail salaries, rental/construction of stores, sales taxes, truck/rail transportation, etc. all contribute to the US economy.
I don't disagree that 'buying American' isn't better, but it isn't catastrophic either. Pushing gift cards for services is pretty bad IMO as well, since a large percentage of gift cards are never used. You would almost be better off donating the money to charity in their name in many cases.
But yes, there is a lot of useless crap out there too. Buying a loved one the 'gift' of a Thomas Kincaid 'painting' for instance. Made in the USA.
A better mantra would be 'Buy useful things that increase productivity', whether it that increase be in entertainment value, work productivity, kitchen productivity, or whatever.