The mining pools (groups of miners who've joined forces) control it in practice. This effectively gives a very small number of people control over significant things, like transaction fees.
But if the managers of the mining pools were to do anything too overt, those who contribute computing power to them could (and probably would) quickly pull their support. At least in theory.
You can only mine (for a significant share) with very significant investments, and transaction fees competely go to miners, so it's in their interest to raise them (albeit slowly, to not curb the adoption of bitcoin too much.)
Collusion is impossible because other miners can work for smaller transaction fees. If it is profitable, someone will do it. If it is not profitable than there is not an unfair collusion to raise fees since the fees can't be undercut.
The behavior of clients does influence fees, but consumers using Bitcoin will happily switch to the client that lets them pay the fee they want to pay (talking about the excess fee not the fee described in https://en.bitcoin.it/wiki/Transaction_fees .)
If the large pools make a deal, any transactions they don't pick up will only ever get accepted after a very long wait. Hell, since they control >50% of the network, they can simply make the new transaction fees a new rule and force lower transactions to not be accepted by anyone (i.e. ignoring those blocks, like a 51% attack.)
Policy by economic (mining) majority could be an issue in the future when the policy directly determines the profits of that majority.