And here's the updated patch for package.el, with saving the new metadata to -pkg.el file when a single-file package is being installed, and with support for it in `package-install-file'. Again, probably less tested that it should be.