Saturation from dust, spam, worthless micro-txs, faucets, dice, "stress tests", scripts that are purposefully wasting space in the blockchain for minimal fees, etc = nobody should even bother.
If you want to block these things, block them with policy. Not by artificially limiting everybody. IMO, not enough has been done to encourage fine-grain control over transactions which are included in a block. It should almost have its own mini-scripting language IMO.
Restricted space => creates fee competition => dust will become non-economically viable to move around.
So you have a policy right there. It doesn't yet work because blocks are half-full (~500kb on average) so you can still move dust with near zero cost (if you have the patience to wait), but the policy will work when legitimate transactions increase in volume to approach the block size limit. We are not there yet.
There is no "artificial limitation on everybody". Those who pay a competitive fee are included next block, even if the block size is ...100kb.