the first thing is to not reuse addresses. rather, generate a new address every time
Well with a lot (if not all) wallets that you use, the wallet generates a new address each time you receive bitcoins to the previous address... so that's already implemented.
I'm not aware of any that do that. Can you name some? Xapo, Circle, Coinbase, Blockchain.info, MultiBit, Bitcoin QT, Electrum, (I know I'm missing a lot here) definitely don't.