I recently had a bad experience keeping my coins on an exchange - the other day I needed to do an exchange as quickly as possible unfortunately Kraken was completely down for over an hour and I lost a significant amount of money.
I don't normally keep my coins on an exchange - but did in this instance in anticipation of this particular trade.
In general hardware wallets are a great choice - although it can be difficult with a rather large portfolio of alts. I personally keep my coins on an encrypted CentOS laptop, which has been locked down with iptables to only allow outbound communication with the relevant networks.
^ Might be overkill though - depends on how much you are looking to secure.