Depending on the community size, it may be rather trivial to notice that you've been hellbanned/shadowbanned.
If you have to implement one of the ban types you mentioned, slowbans are probably your best bet as they are the hardest to detect... even Internet routing issues could cause the behavior they're seeing.
In fact, it might not be a bad idea to only make the slowdown appear to happen sometimes, as if it were a problem with the site itself or Internet routing (although a traceroute could prove the latter wrong).
It might even be worth throwing the occasionally
503 Service Unavailable error or
500 Internal Server Error at the user... both are legitimate HTTP errors caused when the server is having issues serving requests.
The software your community uses may have the ability to block known open proxies. If it does, I highly suggest using it as open proxies are a common method of ban evasion.
Unfortunately, the increasing size of Internet Service Providers in certain countries (such as Comcast in the United States) makes it easy for people to just reset their cable/DSL/fiber router and get a new IP address. This presents a second related problem: While you can likely ban IPs by ranges, the larger the ISP the more likely you are to catch innocent users in these ban blocks.
There isn't a lot that you can do about this unless you implement one of the solutions FEichinger mentioned in his answer. However, keep in mind that a determined troublemaker can switch browsers fairly easily to defeat a lot of those measures as browsers limit the amount of OS information they give to you. You may be able to gather more specific information about users using things like Flash or Java, but more paranoid users may wonder why these plugins are loading when they are seemingly unused.