The problem with hosting games from your home in most cases is your isp & as to how much bandwidth they allocate you but even if you have alot of bandwidth the problem starts when the modems buffer gets overloaded & at this point pings will go up.
To counter this you need to take the load off the modem to keeps its buffer free to deal. To do this you need a stateful firewall. These are not cheap to buy prebuilt but if you have an old pc laying around(200mhz) you can turn it into a dedicated firewall that will inspect every packet that passes from your lan to wan & vice versa.
I personally do not host anything from inside my home(i have comcrap). I prefer to use a datacenter, but i still use a statefull firewall to keep ingame pings down while other pc's in the house are either downloading or uploading. The firewall looks at each packet & moves it by the priority you have predefined.
Game packets or udp packets are a time sensitive(no delay), tcp packets can be delayed, so you can see the advantage. There are alot of linux based firewall solutions out there. Personally i use M0N0wall
http://m0n0.ch/wall/
Software like this takes the management of dealing with all those connections & puts the load on a second piece of hardware instead of the modem it self, which really has no balls. Plus you can also monitor every inbound & outbound request as well as see your bandwidth usage in real time.
You can max out your upload &/or download & still get a good ping to a server(less the 40ms difference). Without the statefull packet inspection, the pings would be unplayable(150ms or greater in difference). So this is something to keep in mind when your behind any cable or dsl modem. You can have a killer rigg & network but its only as good as the device thats connecting you to the net. A 200mhz P-2 128ram is better then any linksys or alike router out there because thats just it they are routers nothing more the load is still on the modem...