Does Django's collectstatic command double the space used in production?

I believe it does, and this is intended behavior. How large your files are? Git itself (presuming you use it) is not well-suited to store large files, I would suggest offloading those files into external services like S3. If this is not an option, storage should not be a big issue nowadays - it's pretty cheap, I would worry more about bandwidth and deploy time to copy those assets.

P.S. You could move files instead of copying them with the custom collectstatic command, if that's worth the hassle for you. Extend the default collectstatic.Command and provide a new copy_file implementation.