I know few share my opinion that middles are fun. Many writers seem to dread the vast space between the fresh and intriguing beginning and the tense and exciting end. But to me, middles are a place where I can put all the pieces of the story into play, and gradually build them up like so many block towers toward that grand finale when they all come crashing to the ground! Or, when I'm feeling more kindly disposed toward my characters, a grand finale when I lay on the roof and reveal the magnificent building those towers have formed the walls of.
So, if you want to build that middle, where do you find all these blocks? How do you fill the space? Well, this is what I'd do:
1. Identify your plot threads.
I like to focus on plot threads, because they come naturally to me, and to most books, too. Pretty much every novel is going to have more than one thread, more than one element of the characters and plot that's developing over the course of the book.
Take the first Harry Potter book, which is a good example because it has lots of threads (and because just about everyone on my Friends list has read it). You have the thread about the strange stuff Snape's up to, the thread about the weirdness going on with Quirrell, the thread about Harry finding out about what happened between his parents and Voldemort, the thread about the Philosopher's Stone, the threads about all the friends and enemies he's making, and so on.
This does apply to character-driven stories, too; just usually the threads are character-related. For example, in GIVE UP THE GHOST, I thought of the threads in terms of the main character's relationships with various important people in her life (the guy that comes to her for help, her ex-best friend, her ghostly sister, her mother), that drive the story and change during the course of it.
2. Lay out your blocks.
Once you figure out what the threads in your story are, they'll become your towers. You just have to figure out which blocks you're going to need to build them properly. No good plot thread is going to jump immediately from its starting point to its end. Imagine how unbelievable--and boring--it would have been if the first time Snape did something suspect, Harry marched up to him and asked him what as going on, and Snape told him the truth, and all was understood. In any worthwhile plot thread there will probably be at least a few steps to take that thread from wherever it starts to wherever you want it to be right before the climax and resolution.
Sometimes you can keep this in your head; sometimes you might want to write it down on paper. Either way I recommend thinking through each of your plot threads and figuring out what those steps are--what events or interactions you need to show for the reader to believe that the thread got from its beginning to its end. I sometimes make up an index card for each important thread, with a list of its developments, which I reference as I do my outlines.
Now you have your blocks! (Those steps, they are them.)
3. Start building.
As you write (or outline, if you do so before you write) you'll probably want to intersperse bits from each plot thread fairly equally, developing one thread, then another, then another, so there's a balance and your story doesn't start looking lopsided. This makes sure readers remember all the important elements of the story, and also gives you a chance to build suspense by leaving readers hanging over one development as you pick up a different thread.
I'll should mention that I think the more you can have each thread support and feed into the others, the better. Having threads intertwine (as, for example, the threads about Snape and Quirrell do on occasion) or having a development in one provoke a development in others (as Harry's friendship with Hagrid leads him to a clue about the story's central mystery) makes the story feel more cohesive and, well, interesting. Imagine a bunch of straight towers standing separate from each other vs. a bunch of towers that arc into each other and twist 'round each other--which would you find more exciting to explore?
Of course, figuring out how to do that balancing and intertwining can be a little tricky. You may find you can wing it, just keeping each thread in mind and writing a little more of each when you notice you haven't touched on it in a while. But if you're an outliner or you feel you need to have things more clearly organized, either on first draft or on revision, you may want to write out an entire sequence of events, comprised of all the steps from all your plot threads. (This is where it can come in handy to have jotted down those steps before.)
I find the easiest way to do this is to start by listing each step in whichever plot thread is most important to the story (it is probably the one with the most steps, and the one that leads most directly to the climax). Then fit in the steps of the secondary threads around it, where they seem to make the most sense. Your secondary threads may actually prove helpful in figuring out how your main plot line will go. If you're looking for a reason for a character to go in a certain direction or take a certain action--check your other threads! One of them may have a block that could prop up that central tower perfectly.
None of this, of course, guarantees that all these events in the middle of your story are going to keep the reader's interest... But I think I've rambled on enough for today. More tomorrow!
And of course, questions or statements that I've gotten it totally wrong are welcome. ;)