In the example you gave it is not even an alternative, because PreThink shouldn't be hooked for that.
All you have to do is to hook Ham_TakeDamage and to check if last bit param contains bit DMG_FALL.
So before to worry about what it the best between automaton with prethink and disabling prethink forward, you should first ask yourself if there could be better ways to achieve what you want to do.
You can also ask on forum when you have such a question and you don't find an answer by yourself ;)