Seems like privacy-minded people recommend using 1 bitcoin address per transaction and not reusing the same address twice.
What bitcoin wallets offer that functionality? I'm using Electrum and I don't see how I can send from a different address than the address that received the funds. I hope the solution is not using Bitcoin Core or Armory because I don't have 40GB of free space to store the whole blockchain.
One bitcoin address per transaction means it's recommended to use a new BTC address every time you will
receive a transaction. Of course it doesn't mean sending from a different address than the one you used to receive. You certainly need to spend the same inputs you previously received.
Just use a new address for every receiving transaction and you'll be fine. Normally you can just use the send feature normally, although you may choose which address to spend from.