Работаю в основном с BSD. Делаю фаер закрытым, а потом открываю что нужно, после, по счетчикам смотрю количество срабатываний.
В итоге правила выстраиваю перемещая по возможности от большего к меньшему по количеству срабатываний. В каких то правилах использую tables, skipto, not, or
Считаю, это более актуально для браса с шейпером, на остальных серваках тоже стараюсь придерживаться этого принципа,
но принимая во внимание, что железо сейчас достаточно производительное, то как бы для некторых сервисов можно и не заморачиваться как там правила идут, ну кроме высоконагруженных.
Ну и стараюсь правильно планировать адресацию, когда можно фильтровать сразу большим кусом сети нежели размазывать на 100500 правил по одному хосту на правило. Но опять же все зависит от ситуации по фильтрации. У каждого по-своему.