An idea to get rid of this attack, or to make it harder, would be to create an alternative address representation format. i.e. alternatives to the normal Base58 and bech32 representations. Wallet software could show both, or offer the opportunity to show them as alternatives.
I wonder if this has already been discussed somewhere?
The challenge is that the new format needs to make it difficult to create addresses which look similar in both formats. The simplest way to do this would be something like splitting the address or the public key hash into parts and recombine it.
On the other hand this could give people a false sense of security if the attacker achieves that both representations look similar ...