how much granularity do you want on alarm supression? If you want to supress eaxctly the alarm seen from exactly the host seen I can think of a way to approach it with lua scripting.
Have the ops assign the alarm to a 'Supression Users' then have a small script to look for these assignments and generate pre-filter rules based on them.
Of course the first probelm I see comes with things like numbers in the message. Would your script buid its ow regex replacing numbers with \d+ and of course adding other required regex fixing? Would you need a way to say supress this alarm from all hosts? The complexity could rapidly climb.
I think I would stick with making them invissible and regulary reviewing what had been supressed as well as the set of rules that had been built up.
If this sounds useful drop me a line and I can give you a hand with some test scripts