Hello,
The only way to be secure is to use a completely decentralized solution such as bitsquare, openledger, etc.
Another option is to use a completely decentralized multi-currency wallet, web or locally based, as long as the keys are not stored on third parties' servers. Then just move the coins to be traded to a centralized exchange. This last tactic does not protect anyone from an event like the one described here, though. It is also a little bit inconvenient given the confirmation periods required.
Now concerning the possibility of prices manipulations or other fraudulent tactics being possible in centralized exchanges, there is plenty of room for that. If I am not wrong, the order book is a separate accounting system than the wallets accounts, that for it is easy to perform various tricks without anyone really noticing.
I would also suggest shapeshifting but its spreads are too high for daily trading.
Regards.