i wrote a program a couple years ago to pull the hwids out of the infs i spent several weeks on it and never did get 100% success on listing the HWIDs. Some were always missing because of differences in the way the INF files were layed out. especially where variables were used.
the current version of that is used by mr_smartepants when he publishes a new release. It populates the "included drivers" field on the download pages. Kickarse also has a tool for that that is published here on our forum.
you are not allowed to delete duplicate HWIDS... that definitely will fail.
I think you are mistaking a copy for what is actually extraction from the archives.
Method 2 or M2 as we call it extracts the 7zip archives to c:\d that does take a minute.
(however since i am doing an unattended install
i don't care if it takes two minutes or four minutes
since i am not actually there... i am doing something else...
(UNATTENDED)
.)
Method 1 or M1 as we refer to it is pre-extracted so there is no copy or extraction.
it would simply run straight from the thumb drive.
- Test with an M1 source and see how long it takes... 
When we headed down this road before we had many obsticals. not the least of which was exceeding the maximum number of elements in an array. (it would silently truncate input). a couple of other projects have set out on this same mission. They also have space here at DriverPacks.net. What we ended up doing in the short term was to split the stream in the packs themselves. In this way you can extract the inf files as a single stream. (our solid archive is actually two solid archives one with infs and one with all the other stuff). this makes gettitng the infs very fast
. the rest is very buggy. your theory is solid, and if our OS was not windows would have easily succeeded years ago. Again a good idea tried many times by several projects. . .
I think with the onset of cheap fast thumb storage its just easier to run an M1 (pre extracted) SAD off the thumb.