Simple solution: don't buy it; buy something else without the logo.
Took me AGES to find a baseball cap without a logo. I don't want to *pay* to advertise someone's product, and I don't give a crap about sports of ANY variety, so that's right out too. You want to GIVE me a cap with your logo tastefully and discretely placed on it? It still depends on the product, but if you'll give it to me FREE, then I'll take it (could use one I don't mind getting scuffed up and soiled).