Some forums have relatively painful time limits set on certain actions: number of posts per xx amount of seconds, ect. It may be worth adding some limits such as 10 page requests per minute per IP, or a little time-out ban if someone uses too many resources too quickly, they have to wait 1-5 minutes before regaining access.
That's for human beings or targeted attacks. But that's not what's causing this problem.
And the remedies you're talking about are on the application layer, but they should be at the IP table layer