So carry cash? Making a small stand alone device that's a tpm (crypto processor whatever) chip, an nfc controller small keypad and lcd display to ack as one or more CC is pretty trivial. Hell you can get a fingerprint reader into that form factor.
NFC and similar removes the form factor of having something that has to swipe or plug in. There are a plethora of authentication protocols to provide a second factor that does not matter if it's compromised and do not require it be sourced from your bank. Maybe you like a nfc watch or want something in a traditional CC form factor. Maybe I use NFC on my phone, a one time pin from a printed card in my wallet (that is generated and authenticated by a server I own or a 3rd party besides my bank), a pin and I have to approve the amount on my phone. Point is to have a framework that allows varying levels of security and devices.
Online I like what some european (probably elsewhere as well) banks have one time CC numbers for online transactions. Want to be secure you generate a one time CC number and use it it's limited to the amount you specify and/or a specific number of transactions. Can also do recurring transactions limited to how many times a month and for how much.
At the end of the day you can not make a system that it's impossible to steal from. You can make it hard and you can limit the exposure.