This is easier than we think!
The OP question is a good one but it is less of a problem than people suggest when one thinks about it.
Basically, players do not know the actual AC of the targets their PCs are attacking. Although they often learn a close approximation.
It is up to the GM to declare a hit or not and let the players guess what is going on:
Situation A: PC ranger with elves as FE fights an elf disguised as a human. GM adds the FE bonus to the players hit result by saying "you hit" on a borderline roll + modifiers. Based upon the player's calculations, the player may realize something is up if he/she was sure their ranger PC should have missed... ("I shouldn't have hit, but I did! It's an *elf*!!")
Situation B: PC ranger with elves as FE fights a human disguised as an elf. The GM does not add the FE bonus to the players hit result by saying "you missed" on a borderline roll + modifiers. Based upon the player's calculations, the player may realize something is up if he/she was sure their ranger PC should have hit! ("I should have hit, but I didn't! It's *not* an elf!!")
In A the player didn't apply the FE bonus, the GM secretly did it for him/her.
In B the player applied the FE bonus (most likely), and the GM secretly subtracted it.
Again, this is in the GM's hands since actual AC to hit is not player knowledge -- it is up to the GM to remember the ranger PC's FE bonuses -- although most players will probably remind their GM now and then. When the ranger player looks into the math of their roll verses the result announced by the GM, they'll clue in that somethings not what it seems -- and thus the FE bonus has been applied when it was supposed to. No problem!
