Two main options, assuming getting a real ISP is not an option.
1) It is usually just connections to certain ports they block rather than any deep packet fun (though I am prepared to be surprised). Use non standard ports and you are good. Not ideal for sites the general public has to speak to though as they tend to get a bit scared when you stick :somenumber at the end of a TLD.
2) Some kind of bridge/forwarder/reverse proxy thing, I am not sure of the exact term here and there are various ways to do it. Your server still does the hosting, the calculations, the storage and whatever else but you have another server out there which fetches everything from your local machine and serves it up to the world. Most use such as setup as a kind of cache or for a multicast but it works here as well. This will likely cost something though. You will still have to go with nonstandard ports (or possibly some kind of VPN depending upon how you want to play it) but no end user should have to see it.