Well. I DM a regular group that gathers every thursday. We've been running for roughly a year now with minimal total interruptions.

It's a good story, with an even better set of characters. Here's how we handle absence:
If they don't show, they get nothing. UNLESS the character in question is particularly vital to the party's plan to get through a specific obstacle. In which case, they get xp for that action that was so vital.
As DM, I keep the character sheets. That way I can take note of any interesting or new items/ abilities they may have acquired as well as hit point totals, bonuses and stuff like that. If someone doesn't show, I typically see if another member of the group is willing to play the character for the duration of the session. If someone is willing to play as someone else as well as themselves for the night, I typically give the person pulling double duty and xp bonus simply because, they actually had to do some semblance of "work" in order to help keep things running smoothly.
Roleplaying two characters can be rather difficult and as DM, holy balls can I sympathize when I'll occasionally have to RP for an entire ship's crew or some other nonsense...
If they have a legit reason they can't come, give them the token "Thanks for playing" xp. I usually split my xp into a couple of different categories. I write down what they get on cards to keep things more organized for everyone. That way I also have to answer a lot less questions about who earned what and why...

Depending on what happens in a session you might see: a token session xp bonus (Always there...), combat kills, combat teamwork, NPC roleplay, party roleplay, Boss fight(taking part in it), Boss kill bonus(landing the final blow typically 10 to 100 xp more than the participation depending on the boss...), puzzle solving, DM assistance (keeping the party going where I want them to go without driving me insane... usually a token 10xp or some nonsense.) and a host of other categories.
When they can't come for good reason, I typically just give them the token xp and occasionally a bonus if their character was key to whatever actually happened. If the reason is big enough, as a group we typically say "fuck it" and delay a week choosing to just hang out instead. Reasons that have caused that kind of response have included, hospital trips, weddings (two group members actually...lol) funerals, car accidents and just being generally very ill. We'll usually delay things though so that if they can show up late they don't miss much...