Well, here's the deal on this. Although we call them "campaigns", I think it's very unlikely you're going to want to run an entire hundred-playsession campaign with your group with just one Roll20 Campaign. In fact, I've been splitting them up whenever we go to a new location. So we've done around 5 sessions, and for our 6th I'll be starting our 3rd Roll20 Campaign. Keep in mind that the more info/pages/handouts/etc. you load a Campaign up with, the more info has to be loaded by your players. So if 90% of it is pages you aren't going to be using, handouts no one is looking at, Characters that don't matter for this play session...well, it's just going to slow things down for no reason.
Of course I realize that right now there is no better way. But here are two things that I think *may help* that are coming in the future:
1. Ability to "copy/extend" Campaigns. Basically you can copy your Campaign, choose what you want to keep (Characters? Players? Handouts? Decks? etc.) and then create a new Campaign with those things already in it. So that would make it easy to quickly create a new Campaign as your story progresses. Of course you'd still be building up a giant backlog of Characters/Handouts, so that brings me to:
2. Integration with Obsidian Portal (
http://obsidianportal.com). If you haven't seen it before, check it out, it's basically built to do exactly what the OP (original poster) is doing: serve as a central repository for your entire 30-level campaign to keep track of all your locations, characters, loot, even a "play log". It's also free to use, although they do offer a modestly priced premium account as well. In the realm of "not reinventing the wheel", Roll20 is really designed to be a virtual tabletop, not a wiki. The Journal feature really wasn't designed to store 80+ entries for a long campaign -- it was designed to hold the stuff you'd want to look at during a few play sessions. The Obsidian Portal integration would basically let you store your detailed info on your 80 NPCs on there, then when you make a Roll20 campaign you could quickly import just the characters you are actually going to use for that play session. So that way you get the long-term repository in Obsidian Portal (which you and your players can access anytime), and Roll20 stays lightweight and nimble by just handling what you're using in your actual play session.
What are your thoughts on that as a solution? Of course we are always trying to balance simplicity with support for folks like the OP who are creating epic, awesome, detailed campaigns. This was just the solution we've been kicking around to this issue, so I'm curious to hear what you guys think, since you're the ones who would be using it!