I would get a card from a credit Union put a few bucks into a credit Union and apply for a card there!!
We don't pay any annual fees and we never carry a balance over from one month to another. Perhaps the best way to punish these banks is to continue what we are doing.