I like the idea of a physical token, but it would need to be more universally compatible, which seems difficult unless you go the route of one of those RSA tags with an LCD display on it. But there's no open standard for those, except for TOTP, and if you wanted hardware TOTP you'd need a separate dongle for every site. Inconvenient. (I wonder if you could make a TOTP dongle that can store multiple keys?)
I do use TOTP, but I use 1Password, which means my keys are not confined to a single device. I wonder how much less secure this makes them, but it's probably still better than not using 2FA at all.