The problem is that you have a group who can only play occasionally. This means the long, epic campaigns are out. Right out.
Instead you're going to have to run the games in episodes. So instead of thinking 3 hour blockbuster, think 24 hour-long TV series.
This also means you can divide your group up naturally. For many shows the heroes are taken from a small pool of main characters, yet not all of them actively participate. Some shows its cop team A+B, then the next week it's cops C+D who are the main attraction. Often the other characters will show up in the background, and that's good too, but for this circumstance they'll be the PCs whose players didn't show and are run by you instead. They don't need to do much at all, just provide a little support now and then (eg when a particular character's primary skill would be useful, said character gets called in to help, then goes away again leaving the active players to work through the scenario).
You can run slightly longer episodes if necessary, and the players commit (eg during holidays) where you can run the old 2-part episodes. You can also have a hand-over episodes where the focus shifts from one group to another (think of the CSI pilots where Caruso starts the investigation in Miami and tracks the baddies to New York where Sinise takes over the following week).
This also works for smaller groups of players, they become the "team leads" for a larger group. So when the cops have found the bad guy and its time to take them down, they don't have to play directly. They can direct the swat team (or play the swat team themselves if you prefer), or they can lead a couple of secondary characters to fill out the group to a reasonable level.
If you don't want to have players running a primary + secondary character, then you'll have to change the type of scenarios you run. The old dungeon crawl is no good with 2 characters, but the investigating detective/cop/mercenary/spy works very well. The resistance fighter type scenarios also work well for small groups.
Things not to do:
Run the missing players characters. It never sits well with someone to turn up and find that "they've" done a lot in absentia. Its ok to run the character for very short sections where absolutely necessary, but you will find the player doesn't like it and it gives them a demoralising reason not to bother next time too. People care for their characters, remember.
run a long campaign but 'deactivate' the missing characters for those sessions. When the player does come back, they'll find they're left out during play too - all the interaction and old anecdotes about previous play will be lost on them, and make them feel left out even more.
Play totally disconnected games, except temporarily. If each time you turn up you play a RPG that exists only for 1 session and has no carry-over to another week, then you might as well crack open the board games. One-offs have their place, but not as a permanent fixture.
Condemn the missing players. Its not their fault, you might find yourself in their situation too soon enough. Be positive about the position you're all in, and it'll be a much happier place when people do manage to show up. I've played with groups where a few players could only turn up now and then, and they were almost treated like they were disrupting the established group. I guess games players tend to be anti-social nerds at the best of times so this behaviour (even if it's not hidden) is to be discouraged. Every returning player needs to be welcomed in as if he was the prodigal son, every time. Even run a scenario based totally around that guy. (hey, it'll be a change from the usual characters after all).