My group ran into an issue last year. We were in a rebuilding year; our old GM had moved and we were tentatively adding more players. We got to a point where we had a nice stock of PCs in the campaign. The issue was that it seemed rare to have everyone able to make it to our sessions. Someone had to work, someone had to go out of town; the real world was assaulting our ability to run an in depth campaign. Players gave me the option of running their PCs for them in absentia but that just didn't feel right to me.
I had an idea. Rather than try to run a long campaign, I would break up each session into an episode. We have been playing a standard fantasy "kill monsters and take their stuff" game so I would run each session as an independent kill the monster scenario. My rationale was that the PCs had become famous for their daring deeds and were now being hired out as monster exterminators. Whoever showed up to the session determined which PC's were hired for that episode.
I now plan for each session to be a self-contained 3 hour episode. Whoever can show up to play will be in that session, and if someone can't make it then that's okay. I just make up a reason for their PC not being there. For each adventure is the basic challenge and when it is defeated the PCs "win" that adventure. Next session there will be a new challenge, and whoever is around to fight it will. I have had to change some of the long running plots but overall we are keeping out momentum.
That's how we have dealt with the issue of having players who can't show up every session regularly. I know this is an issue every group deals with. How does your group deal with it? Feel free to comment.