It wasn't mercy. The hacker received 10% of them funds, millions... and now he is "clean" I guess.
There was an offer of 10%, but there are no details from the conversation between the victim and the hacker. It is certainly a mercy that he agreed to return the money without any investigation.
That's why you're not supposed to fetch addresses to pay using the transaction history. Many wallets have an address book specifically for that purpose. For example, Electrum has such a feature.
But of course, if the problem comes from the likeness of addresses on different networks, well then it's much harder to detect, really. Except I guess for only using one wallet per network.
Honestly, this seems quite sophisticated to me, it would never occur to me to come up with such a method. Maybe because I don't think about how to steal someone's money.
Nevertheless, a banal mistake like sending to the wrong address due to similarity, and the amount involved is $70 million... It is quite irresponsible of this person to make such a transaction.