Well there's no other way around it - you can either publish all the dependencies with each project or share them in a central place.
Central places don't work very well and again, file space is very cheap. Most binaries compress down very small so there really shouldn't be a disk space issue. And you can always remove dependencies if necessary.
It's just not something that has ever been a problem in over a decade of building and publishing .NET apps.
When I was talking about disk space I was referring to linux operating system where there is no GAC.