Either from robbers, or from governments?
A thief will torture you until you give away your password. Governments will put you in jail indefinitely, and they will become increasingly tyrannical about it. Just look at how how many people are getting busted in LocalBitcoins. If you for instance bought bitcoin in exchange of cash in LocalBitcoins and then sold it on some exchange for fiat, you are now on a possible list of people that will receive a knock on their door. Pretty much any bitcoin -> fiat or viceversa operations are subject to possible audits which may reveal your total stack as they look inside your computer. Once they find your wallet.dat you are in trouble. It's better to plan ahead, so what are you doing about it?
I don't see a solution. As long as you have to keep a file (wallet.dat) you are at risk. You could consider taking the Electrum route and sending all of your BTC inside an Electrum wallet and memorize the seed so a file doesn't exist, however, how safe is this? Keeping all of your current and future addresses on there doesn't seem too sound. It is possible that if someone subtracts the necessary info key derivation could be exploited.
So wallet.dat is the safest, yet, the most annoying to keep safe, as you need to keep a physical medium to store it offline, and you need the synced node to transact as well.
Electrum bypasses this but it's not as safe as the wallet.dat model.
What can be done?