Dust is a dangerous problem especially for IOTA where transaction costs are very low. It may blow up snapshots, while low volume transactions down to 1i and low balance addresses are valid use cases.
I tried to apprach this problem my attaching a little temporary cost (let’s say $0.0001 or 5000i) to a new address, a cost that is fully recoverable, nothing need to flow to miners or lost in transactions fees. A low balance address may lean the missing balance from another address. Most transactions (above the minimum requirement) are not affected by this change.
It may allows even fractions if IOTAs transactions and balances for colored coins scnearios.
A draft of this idea see here: