First things first, you can't expect to run everything at full blast and have fast Internet. Set some boundaries for yourself.
Let's see here..
Limit some of those connections. aka, a torrent client can run fine with just 50 global connections and 10 to a torrent. It doesn't need to be exhausted. So yes, that means, you can only run 2-4 torrents at the most for best speeds. If you are running a PC Router (not a tinyPC router, such as a Linksys WRT---- or something) then the amount of connections isn't really something to be worried about unless you have them pre-limited via the PC Router.
The average home-use modem and Internet service is not capable of pumping high speed both ways "at the same time." For example, if your Internet package says 3mb download and 1mb upload, you can't expect to fill the upload up and still reach 3mb download as well. So limiting each program (as stated above) to its proper use will help. Besides, your Internet line itself must be able to support that kind of activity. Top grade SDSL per se, or a DS. "Reguler DSL" is usually good with not being congested when you do fill up pipes.
What's a good limitation on speed?
Well, in my observations experience, I've noticed that it's good to only fill up 75-80% of your bandwidth. It's not always the case, but anything from your area, to the street, to the node you're on, down to the actual routing lines (e.g. cables, telephone line) that is being used in your house can affect these bandwidth readings. So pre-limiting these activities can let you see great improvement out of your Internet (and take stress off your equipment) allowing you to do more on-demand when you actually need it. For example, you have downloads and uploads going, and your friends is playing a game online - With ease you can go stream videos online without affecting their game play, or your streaming (remember 75-80%? 🙂 ).
The odds of hitting that stress-line with these settings is slim, but not none. Depending on what you do (because everyone uses the Internet differently) you may find some other or combination ways to suit your setup even better.
Of course you want to reach services fast; Websites, IM, Game servers.. the list goes on. Using good DNS is at-most one of the things you should be concerned about. For that I recommend running your own DNS, or using a DNS provider that is to your needs, or well maintained. OpenDNS (or the famous 184.108.40.206, 220.127.116.11 😉 ), is good ones.
Not to mention, using a "dedicated DNS provider" is a good way to avoid malicious activity from spawning on your Internet. Botnets, trojans, worms, all these can be blocked via DNS. OpenDNS can offer this. It's hard to say how well but it's better to be safe than cursing.
More detail on Routers
As most of you know, routers "route," not exactly classified information. Choosing the right routing options?--Good knowledge to have.
If you're running two or three computers, choosing a decent routing option is good - Not using a hub for any of this is NOT a bad idea, but you may not want to do TOO much on it. As hubs can become congesting if you use a lot of computers on them, or devices. You either want to have a "router," or switch.
Have laptops, other mobile devices? Then you might want to have a router that can be used via wireless, too. However, loading down your wired/wireless router with wireless can become overwhelming for the little creature (on average routers). That can be a LOT of stress, especially if you're doing what you'd normally be doing from a wired PC. So try to limit actives via wireless. Don't be confused, a few iPods and a Wii and a laptop isn't going to affect much.
I think that's it for now, but I may have more some other time. I hope these options may help you. If you have any tips, suggestions, etc.. feel free to let me know. Glad to exchange information!