How can I detect if a person takes fall damage?

Solution 1:

Create two scoreboard objectives like following:

/scoreboard objectives add fall stat.fallOneCm 

And:

/scoreboard objectives add damage stat.damageTaken

Then on a fill clock run:

/effect @a[score_fall_min=1, score_damage_min=1] EFFECT_HERE
/scoreboard players reset @a fall
/scoreboard players reset @a damage

How this works is that it effects all players with a fall distance statistic score of the minimum 1 which also has a damage taken statistic score of the minimum 1. After that it resets the scores so that it can happen again.