You want them making these stupid calls. It helps you in the long run. Just keep playing good poker and punish them for playing bad when you have a good hand.

Case in point (bar tournament last weekend, filled with fish like you're describing; I think 4 people out of 30 have any concept of starting hands beyond "high is g00t"): I'm on the button with AJs. Limped to me (5 callers). Raise to 500 (initial chip count = 2500; current blinds = 50/100; my stack = 3000 or so). 3 callers. Board comes K 8 4 - all of my suit. Checked around, so I bet 500 (this is a standard "I have nothing" bet to them). SB counters by pushing. Folded to me (later learning that one player was disgusted at throwing away a pair of 8s, but didn't want to risk it all...would have called my bet). Naturally I call. He turns over Kc4c. He called a 5x raise preflop with K4. Because it was suited. Board didn't pair. MHIG. That one pot was enough to let me hang around 'til the final table.

It does go both ways, so realize when there's danger. Same player previously called my 5x raise (smaller blinds) with 45o (5x wasn't expensive to him then). Board was A23 rainbow. I held AA. After he called my pot-sized flop bet, I thought about his style, realized he could have anything, and check/called (small bets - barely fractions of the pot) to find that indeed he had hit.