This is something I've been struggling with as well... So this will be less an answer, and more a collection of thoughts on the direction I'm going. Hopefully someone with more experience solves it for both of us :)
The first note, is that having a campaign where every session deals directly with advancing the plot is a valid way to do things. However, this will make for a very focused story, with less of the sandboxing and exploration commonly associated with RPGs. If you go this route, I'd recommend keeping it relatively short, and giving it a distinct beginning and end (think movie, rather than TV series). If the players fall in love with their characters, you can always write a sequel or move to a more traditional format afterwards.
That said, if you want a more traditional semi-free-form campaign, here's what I've been able to scratch together.
Structure
A lot of my inspiration for this sort of thing comes from reading about how TV series are put together. Looking at it this way, it seems like there are three major types of adventures you can have:
"Tent poles" -- These are the major turning points in your narrative. The epic battles, the betrayals, the triumphs, and so on. If you were to write an outline of your plot, these would be the bullet points.
"Canvas" -- For lack of a better term. These are the work-a-day adventures that deal with your central plot. The battles with the villain's henchmen, pawns being moved into place, and so on. Their ordering and timing isn't as important as the tent poles.
"One-shots" -- Adventures not related to the ongoing plot. These help provide a rest from the main plot, and help demonstrate that there are other things going on. You can help integrate them by providing an encounter or two related to the main plot... But the focus of the night should be elsewhere.
Planning
Ideally, you should have your tent poles planned out ahead of time, along with a bank of canvas adventures and one shots to draw on as needed.
You may also want to plan a handful of individual plot-related encounters to help populate one-shots that need to be generated on the fly ("Um, you weren't supposed to tick that village off, but whatever.").
As a practical matter, I've always had a weakness when it comes to planning, so I usually get by with a couple of tent poles and a few canvas and one-shot adventures thumbnailed (i.e. only planned as a one-sentence description) at any given time.
Threads
I like to have a couple of major plot threads going at any given time. This helps give me material to fill in dead spots, and adds a bit of depth to the world. It also helps provide continuity from one major plot to the next.
In planning out threads, remember that it isn't necessary for an antagonist to be completely eliminated for their thread to end for a time... But when they are defeated, be sure and give them some time out of the spotlight.
Pacing
From there, it's a matter of mixing up the types of adventures you provide to the players. Work on the plot, but don't let it dominate the table to such an extent that it feels like the PCs are being singled out. Mix in one-shots to help establish the setting, and to give the players a chance to define themselves as individuals rather than strictly as opponents of the villain.
If the players are actively striving along the plot, use traveling and new locations as an opportunity to mix in the one-shots. If the players are wandering, and waiting for the plot to come to them, try to find ways for the players to tangentially encounter what's going on (so it doesn't seem like the plot is actively trying to fight them).