I put together a plugin to download metadata from Crossref.
You can download it at
calibre-crossref-doi-download/releases.
This is my first plugin for calibre so be gentle
Unfortunately Crossref is giving me a hard time and throttles my requests. Therefore it is much less tested than I'd like. Maybe make a backup before you try it.
The github page for development is
crossref-doi-download. I'd be particularly interested if you got tips to improve the code.
Crossref results include a number of interesting fields - few of them fit into the default columns of calibre. I'd be interested if you have ideas where to put them.
There's also a thing that they forward you to a faster server if you add an email address to your request. There's a field in the settings for that. Doesn't seem optimal.