I would choose between Trezor or Nano, both has passphrase option too which is not in Keepkey.
I have a little preference for trezor but the advantage of nano is that supports more altcoins. So decision would be if you really want too an altcoin (if its on both or just on nano)