In short, the launcher doesn't actually support that yet.
The long answer is a bit more complicated. The launcher does actually support it, but the backend doesn't. The launcher will use maven to download all the files, which means it reads a json file that basically has a bunch of file names and a base url. It looks locally to see if it already has that file name, then either copies it or downloads it. That's what it is doing with the forge libraries now. So we don't have to add them to everyones packs, we just tell the json which version to use.
But the backend repo isn't ready to do that for the rest of the packs yet. Because, as you mentioned, we will need to upload each file separately, which is a heck of a lot more complicated than you would think. We're working on it, but it's not quite done yet.
And I will be sure to tell everyone if anything changes in what you need to submit.