What happens if someone sends you bitcoins from MtGox, or from Coinbase.com, or from BTC-e, or from campBX? What happens if someone sends you coins through a mixer, or if they use "shared send" from blockchain.info?
That is simply their problem. If they do that when sending to a service which is known to make return transactions to the same address which the coins went from, then it's just their misusage.
Bitcoin is full of conventions which you need to follow, because if you don't, you screw things up. Take these paper wallets for example and people launching Ubuntu Live to spend money from them. They send 2 BTC out of 10 BTC balance and put their wallet back into secure vault, not knowing that their 8 BTC change also left their paper wallet and have been lost forever with the deleted linux instance.
People need some knowledge to use bitcoins, and I think that understanding “you need to send coins from your own wallet which you control, because we will send some coins back to the same address” is actually much, much easier and more natural to understand than understanding the change concept (which also isn't that hard, but harder).
Bitcoin doesn't have the concept of a "sending address" in the protocol. Some people (such as SatoshiDice) have chosen to take a situation that is very common (spending a common output type from a wallet you control) and build an interface on the assumption that they can rely on that very common situation. That doesn't make it reliable, and it isn't the right way to do it.
Of course bitcoin doesn't have such concept, but that doesn't mean that we cannot create it as an abstraction on top of the protocol. Does bitcoin protocol have the “change” concept? I am not aware of that. On the protocol level there are just outputs. It's the client software what introduced “change” as an abstract concept. You can't argue “returning addresses” telling that it's an abstract concept that doesn't exist on the protocol level and use at the same time use “change” term which is as much abstract as the returning address.
I am fully aware of limitations of return address concept, but they don't make it wrong. Take the example of that paper wallet which someone want to spend partially from a throwaway Bitcoin-qt instance - it also have limitations which can loose you money if you don't understand them. Does that make the paper wallets concept wrong? No, you simply need to know how to use it. It's the same with return addresses. You need to know how to use it (not sending from MtGox, etc).