I think hardware wallets (like the Trezor), or smartphones with a TPM module is the solution.
This will take time, however (the latter more than the former).
The reason it will take time is that the concept of storing your own money digitally, like is the case with Bitcoin, is an entirely new concept that software and hardware needs to adapt to. With all other solutions (VISA, PayPal, bank wires), you're asking someone else to transfer your money, with Bitcoin you're doing it yourself. Basically, each user needs a greater level of security than PayPal, VISA and banks have internally, since Bitcoin payments are generally irreversible after an hour or so (and often much sooner).
This isn't something that is done overnight, and people have started working on it, but it takes time to, first of all, develop the hardware, and, second of all, develop and implement the interface between the hardware wallet and the actual payment request (ie. when I arrive at a BitPay invoice payment page, how do I pay using my hardware wallet?).
This will take time, however (the latter more than the former).
The reason it will take time is that the concept of storing your own money digitally, like is the case with Bitcoin, is an entirely new concept that software and hardware needs to adapt to. With all other solutions (VISA, PayPal, bank wires), you're asking someone else to transfer your money, with Bitcoin you're doing it yourself. Basically, each user needs a greater level of security than PayPal, VISA and banks have internally, since Bitcoin payments are generally irreversible after an hour or so (and often much sooner).
This isn't something that is done overnight, and people have started working on it, but it takes time to, first of all, develop the hardware, and, second of all, develop and implement the interface between the hardware wallet and the actual payment request (ie. when I arrive at a BitPay invoice payment page, how do I pay using my hardware wallet?).