The root cause of this is something known as "bufferbloat". If you are technologically adventurous, you can more or less solve it completely by using a special queuing algorithm on the router right before the bandwidth bottleneck, i.e. your Internet connection.
Routers from Ubiquiti (EdgeRouter, Unifi Security Gateway) have this feature built in. Ubiquiti calls the feature "Smart Queues". Other routers brands might as well, or it might be available with third-party firmware. The latest and greatest algorithms are known as "cake" and "fq_codel".
With this algorithm enabled, a single large upload will no longer completely monopolize your upstream connection. You'll still be able to download, browse, and use latency-sensitive applications (such as voice/video calling and online games) without noticeable degradation.
It would be good for this functionality to eventually be provided by the ISP's customer premise equipment, but for now, it's something we as consumers need to handle on our own.
I have this functionality enabled on all my small business and residential clients across multiple ISPs, and I can confirm that it is tremendously beneficial for maintaining the usability of an Internet connection under heavy load.