I have a better solution: keep everything exactly as it is now, but have credit card companies accept that the system is
slightly susceptible to fraud, and consequently have them take the hit if your card gets stolen. The customer (people who buy things and merchants who take cards) shouldn't ever lose out if they're victims of a crime.
Currently credit card companies charge (some) users to have a card, charge all merchants a fee and a percentage, and take none of the risk. That's the thing that ought to change.