That sounds a lot like TLS client side certificates. Sure, something like would be nice but getting there would practically require new standards, then those standards need to percolate to server and client software across different platforms, then users will need to get used to them etc etc. Meanwhile autogenerated passwords can be made with a perl cgi script, be compatible with Mosaic from 1995, and be immediately familiar with most users.