I feel that the Fanatic badge requirements is little bit strict. Someone doing an activity for 90 consecutive days may easily have one of those odd days where its beyond his capabilities to do some activity. It could range from things like falling extremely ill, going mountain climbing, etc.
A possible way could be to maintain a Stack system for counting consecutive days. If user fails to do activity on a certain day, his contiguous count will be reduced, otherwise it will be increased. Since this would be way easy to achieve if the upper limit is only 100 days, that figure could also be revised, say 500 days.
The definition of activity could also be revised. Mere, viewing questions should not be counted. User must at least leave one answer, comments etc.