My poor dog gets the same problem... she gets to the point in the winter where she'll shy away from us patting her because she knows the shock is coming! What my dad does is this: we have one of those hand-held (I believe gallon sized or so) bug solution sprayers... the kind u manually pump, then spray with a nozzle... well, after a VERY thorough cleaning to make sure no other residue is left behind, he mixes a solution of liquid fabric softener and water (not sure the exact proportions, but I dont think it could possibly be too strong... I'll try to remember to ask him)... he then sprays all the carpeted rooms with this solution and it cuts down greatly on the shocks given out! I think he pretty much re-does the process when we notice excessive amounts of shocks again - I think a few times a winter, depending on how dry a winter it is.... you could also wipe the cats with a dryer sheet (As long as theyre not allergic!) to alliviate some of the crackling... hehe, it sure is funny to watch them when they get shocked though, even though it hurts for a second!
PS: We got this idea from our vet, who is also a trusted friend.... I imagine if there's an allergy problem that they make fabroc softener to deal with that.