Which would require that different blockchains didn't use the same address formats... like BitcoinCash using identical address format to Bitcoin. In cases like that, it is IMPOSSIBLE for a software wallet to determine if the address is BitcoinCash or Bitcoin.
Also, I'm not sure how you think this idea will help?

For instance, for any given Bitcoin address, there is a "matching" BitcoinCash address. If I accidentally sent some Bitcoin to a BCH address, the transaction will be successful, regardless of whether or not anyone can actually access the private key for that address.
Huh. Didn't know that. Well that's not smart system design, imo. Okay, detecting right away based on the address isn't an option. I have a book about bitcoin internals but haven't read it yet, hence I don't know such details.
The small transaction confirms... the 99.99% transaction then gets sent anyway. All this idea would do is A. create more transactions (which we really don't need)... and B. cost users more in fees.
However, if BitcoinCash used an unique address format, then if one were to attempt to send BTC to BCH, it would fail as the address would be rejected.
I agree, small transaction confirms isn't ideal at all. A bunch of extra transactions, fees(I hate fees, here comes again - bad design, imo). But hey, we are dealing with money here. If protocol is designed the way that one sends X amount and accidentally messes up the recipients address in the process and sends it, then what? Oh well, too bad it's your fault or your system's fault your money is gone, sorry you're stupid, come again. Let's face it, how do most people usually input addresses to which they send coins to, they copy and paste them, and just to "be safe" they check first 3-4 chars and last 3-4 chars so they match and then click send. Am I right? I mean I am not saying this should work this way or that way, I am seeing there's an issue and there were instances in the past when people had same issue and it seems like there needs to be an improvement to the system.