The whole point of "You are limited by the slowest upload speed of your routers", plus the whole "My un-tor'd download speed is great" is a big concern.
Here is a thought. Since most of the time I'm not downloading -- most of the time my connection is "idle" with tor traffic -- I don't mind giving more of my traffic to others. When I'm active, I want to make full use of my download bandwidth. That means I need to get downloads from multiple people. If I'm looking at 20K tor upload, and 1.5 MB download (about 150K), then I need to download from 7 different tor nodes. At once. Yes, there are fast routers, but if I ever get a slow one, or an overloaded one, then I am slowed for using Tor, and Tor looks unattractive. If an average user is active 10% of the time, and uses 7 connections when active, that's still a surplus of network resources (70% utilized). That means, that for Tor to get fast, 1. Rather than everything using one connection by default, we need to use many connections, load balanced. Round robin is probably a "good" first approximation to load balanced. Since we know the speed of the routers we are using, we can do a better approximation. 2. ??? (3. Profit :-). (Yea, getting keep-alive to work will help a lot with web browsing, but that means tossing privoxy and using something else. But keep-alive, by reducing the number of connections, will magnify the problem of a slow router over doing multiple connections.)
*how* much bandwidth is required to run Tor as a server, or router?
Tor wants a minimum of 20K, or about 220 kbps. DSL Light, that I've seen, has a 384kbps upload, although I've heard that it goes as low as 256 kbps up. Either one is sufficient to run Tor as a router.