A 2 way check system can be this way,
I- Mr A about to send Bitcoin to Mr B using protocol safe
II- Mr B opens a allow protocol safe using either senders address or generates an option notifying incoming bitcoin to his wallet and amount
III- Mr A Sends bitcoin to Mr B
III- Mr A protocol checks to see if Mr B's protocol is expecting and if Yes, [Suspicious link removed]ives Mr B, if not bitcoin goes back to Mr A.
Lets say the copy and paste malware attacked and changed address while Mr A paste to the system then btc will be returned and no harm.
I may have missed something however, it's not clear how this could help.
Clearly Mr B will not spend time checking if money is about to come and allow it, it would be a huge overload for shops, for example.
So an automation will have to be done in a way or another. And this makes all that workflow useless.
But, for the sake of discussion, let's say the automation is not done.
What stops the sender be careless twice when sending out the money?
I agree, that is too hassle, and a lot of work just for someone to make sure his bitcoin is safe. We don't need this kind of thing as a precaution to prevent losing our bitcoins, we should discipline ourselves to be responsible for everything and we have to be sure that when we are making a move or having a transaction, we have to be accurate and focus to avoid accidentally sending it to the wrong bitcoin address, double checking as always will help, actually.