This is how I handle XP:
For XP I use a spreadsheet that simply contains a column per player. Then I'll go back over the session (based on memory/notes) and type a row for every event I think is worth XP.
For encounters I use the DnD3e rules (based in CR and EL and dividing XP among the characters present etc). For other events I decide myself how much XP it's worth.
In some cases I'll award XP for maintenance tasks (for instance a ranger goes hunting when the party resources are depleted or a fighter that remembers to take care of his horse and weapons)
but only when the task is performed in special circumstances. I mean, no XP for players that drone "I take care of my horse and sharpen and oil my sword before sleeping for 8 hours" because they "perform" the task to get the XP, not because the game at that point needs this task performed to avoid certain consequences.
For the same reason I'll sometimes NOT give XP for an encounter if the party completely ignores background or story and handles the encounter purely as a number crunching exercise.