Most of that can be taken care by a password storage, such which is included in most browsers already. However, currently browsers do lack a mechanism for creating a random password, so users tend to write during registration what ever gives them the easiest way to click continue.
> currently browsers do lack a mechanism for creating a random password
That can be easily solved by integrating a good password manager into the browser. There are plenty of plugins that automatically generate random passwords, insert them into appropriate form fields, and save them in a secure "vault" that is synched across devices. It shouldn't be too difficult for browser vendors to offer such functions by default, and gradually upgrade them to incorporate newer standards.
At least, it will be much easier than getting everyone to purchase a physical device, and it's even backwards compatible with existing sites that will probably stick around for another decade or two. I doubt that any solution to the "password problem" will be viable unless it were backwards compatible.
I would say for consumer it's already better than passwords. Biggest threats seems to be password-reuse (and hacked servers) and phishing.