Try re-setting your expectations.
Let's say we're playing w our cards face up, and I have Jc8c and you have Ac2c, and the board is QcTc4c7c on the turn. You act first and shove all your money in - after all, you can see I only have one out to win, the 9c. I have you covered, and I can also see that I only have 1 out.
Do you want me to call your all in or not? I have exactly 1 out from 44 remaining cards to beat you - if your answer is anything other than a halleleujah-double-fist-pump-dancing-jig "YES!!!", give up playing poker immediately.
The catch is, one out of every 44 times we do this (on average) I will win your stack. That's not much of a catch when you consider that the other 43 out of 44 times you will double up through me.
If you're playing for the long run, this is the only way to think about fishy suckouts (obv I biased this to be a one outer, but do the same w 8 outs, 9 outs, whatever). It's frustrating when you know the fish doesn't even grasp the possibility that he's behind when the money goes in, but your double fist pump jig should be more vigorous when you know he doesn't even recognize he only has one out (3 outs, 4 outs, 8 outs, whatever) because he's more likely to make the mistake of calling without odds
If you're not playing for the long run, that's fine too - but then remember that luck is part of the game.
So what can you do to fight this? Don't fight it, welcome it, it's how you're going to be profitable over the long run.