You typically sent some nice even number of Bitcoin to someone, like 0.10 BTC, and not something like 0.1876573 BTC. I think in transactions where one output is clean and the other is not, then the assumption can be made that the weird output is the change.
Maybe when btc value will be stable, but more often than not for payments it's a round amount in $ or or whatever converted to an amount with many digits in BTC...