IMO, the average user has weak opsec and is safer to keep crypto on exchanges. Get a good reliable one and use 2FA and you should be fine.
I did pretty much all options. Kept the cryptocurrency on paper wallets, multiple exchanges and now on a HW wallet( I use a Trezor) but I don't advise this for all.