There are several hardware tokens that can be seeded.
A cute version is indeed the yubikey, as you need no additional hardware to seed it and all necessary software is publically available. The yubikey even works fine for blind users.
But you need a USB port to use it.
There are also the eToken PASS and the eTokenNG OTP, both tokens of SafeNet (former Aladdin). The PASS is a key fob token and can be seeded with an additional device. The eToken PASS can be seeded as an HOTP and a TOTP token.
The eTokenNG OTP is a hybrid device (OTP and Smartcard). It also has a USB connector and can be seeded using this USB connector.
But if some of the users are only lacking smartphones, you could also:
use motp, which will also run on older feature phones or
SMS-Tokens, where the OTP is transmitted via SMS to a mobile phone (not smart). (But I really, really wouldn't recommend this! ;-)
What I would recommend is, take a look at LinOTP or privacyIDEA which is a backend, that works with all these token types (Google Autheticator, YubiKey, eToken Pass, eTokenNG OTP, motp, SMS...) thus giving you the possibility to choose, which user will have which token.
Finally, and yes I work for the company, that provides enterprise extensions for the open source LinOTP.