Not only crypto assets but also fiat money are stolen in the online environment. Who do you blame here?
Most of the times we destroy our own security because of our own reasons. If you can't keep the keys to where you keep your assets, there is definitely a chance of theft. I would say if you have a lot of assets then definitely use a hardware wallet.
Not "are stolen" but "can be stolen" if we don't secure them properly. Who do we blame here? Of course our selves only, so complaining about it doesn't make sense. What can we do instead is accept the situation and learn from our mistakes. Private keys must actually be separated from the same storage where we keep our assets because our assets are primarily targeted by the hackers but who will be on their right mind to use the same wallet again? Because if they do, their coins will only get lost immediately.
Your recommendation of using a hardware wallet is great but on what brand? Since there are now lots of them and some or many of them might have a poor quality.