A slightly different approach that I'd envisaged was a Web Script that allowed the user to type in (not browse, since that's a security problem) the location of a zip file on the local filesystem and select a target space in the repo, and the script would explode the zip directly from disk to that space.
This would probably be more of an administrator use case then an end-user use case (since the zip file has to get into a local filesystem on the Alfresco server first - something that end users probably won't be allowed to do), but could be quite handy nonetheless.
Cheers,
Peter