Maybe create a new address type on protocol level, where transactions from that address can be reversed within 36 hours with backup key(s)? Normal users wouldn't accept from these addresses but should be good enough for most exchanges for purposes of cold storage.
Though in this case it looks like it was a hack on a third party provider, which is why relying on third parties for core functions is not a good idea. Why would Bitfinex use that provider instead of a multi-sig cold storage is anybody's idea.