First off, use Azureus (you need Java JRE for that). It isn't as punishing about share ratios as other programs. Just seed later over time (and enjoy your download faster).
As others have mention, disable any firewalls. If you use Azureus, the status icons will be yellow all the time behind a firewall. The only benefit of firewalls is that it can block almost all pigning from unwanted company...
Make sure you cap your upload speed at least 10 % below your max upload speed. Otherwise it'll bog things down.
Unless your on a school network, and lucky enough to be unblocked, only have 1-3 torrents open at a time. Communicating with the tracker takes bandwidth is why.
Of course, if your connected to a slow tracker, or a torrent with a lot of leechers at 0 % or you have a bad connection, then it will be slow.
But given a good torrent, I can get 300 KB/s down with comcast (max 350 or so for my connection). And upload at 25 KB (max 30).
Have patience. It takes about 5 minutes to get things going.