Yeah, their unpredictable nature is what's causing problems. They increase as the number of transactions to be included in the next block increases. We could revise the system, but don't forget that it's a valuable anti-DDoS tool : the rising cost prevents from pushing spam transactions on a block, as it makes the attack expensive.