I hate the way that operating systems have by-default transports such as TCP always guzzling 100% of the link, because their aim is just to maximise speed at all costs. Sane operating systems ought to have an option to use x% of the current internet access link capacity, or no more than a specified fixed rate, or a low-priority mode. Apps should be able to add parameters to each connection setup that select these options for upstream or downstream, or even better do so indirectly by specifying references to named speed-control profiles, these profile objects also being correct for various different internet access link types eg "ethernet>FTTP" or "4G" or "5G". Also there should be policies so that these speed controls can be forced onto apps that just use the defaults, or where the code is too old to support these new parameters. Then a UI could control the speed of particular apps / processes / classes of apps. An important feature would be support for initial-burst mode speed control profiles, so you are allowed to do something different for the first n ms, typically going flat-out or at a high x%, and after the initial duration, your speed control parameters change typically to something slower.
Certainly routers and operating systems all need to implement sane queue management, but making ‘flat-out’ a rarity will help make life more bearable, and instead of flat-out everywhere we have a typical default factional speed setting for ‘fast’ mode of ds=98%/us=98% for fast links, or maybe ds=95%/us=95% for slower links.