Many of these can be prevented by multisig and/or a hardware wallet with the seed phrase tucked away.
Sending to the wrong address can be fixed with smart contracts that associate addresses with easier identifiers. Swapping value/fee can be prevented with a simple safety check in the client software, to make sure the fee is reasonable.