Cryptography is the best way to prevent hacking as long as private keys are randomly generated offline and kept offline.
This is much easier said then done, especially when you are using a private key as a credential, you would need to access your offline computer too many times and introduce too much hardware (likely a USB drive/stick) too many times to get a signed message to your online computer.
I agree that it's a hassle with today's technology, but I think cryptographic security is going to be a booming business for the next several years. I believe we will likely see new cryptographically secure electronic hardware devices emerge that are designed to generate and store key pairs, sign and verify digital signatures, and encrypt and decrypt data. These devices hopefully won't even be capable of going online, only exchanging data with a computer or other device that is connected to the internet.
The problem with computers is that security is an afterthought. They were never designed to secure private keys. Also, computers are by definition programmable, which means a hacker can potentially make it do something that you don't want it to do. I think the solution is to not use computers, but hardware devices that are not programmable, and hard-wired specifically to perform cryptographic functions. (Another application, besides mining, for ASICs, basically.)