I play on hard or harder if possible, and yet F.E.A.R. still wasn't that challenging.
I found the enemies to be less dumb than your usual cannon fodder, but you'd mulch through them pretty fast if that was your goal. They did try a lot harder than those in other games, which was nice, but they weren't that much of an obstacle. Their patterns are somewhat predictable, so you can often anticipate where they're going to go, or what they're going to do.
The problem with the F.E.A.R. AI is they don't necessarily adapt to the player like real people will. You can do the same thing a hundred times and they'll fall for the same trick.
Getting ambushed? Well, poke out, draw their attention, and fall back to a more advantageous position. Human players would just wait it out, they know you have to go through there, but the AI, ironically, gets impatient. Their goal is to kill you, not to defend things.
I'd like an AI that gets wise to my tricks, that starts to react differently. If you're using grenades frequently they might field more heavily armored troops. If you're sniping they might snipe back. That'd force you to adapt, to switch it up, to avoid becoming predictable.
The problem is that requires a pretty robust AI to manage troops and a deeper objective than "kill player".
I think AI, in this case, is overkill. Create ~10 common enemy class and spawn them based on your strategy history, equipment and game pace. Each and every enemy would act differently like if you were more on sniping side, you would get snipers and fast units spawned. With mediocre AI this would make the game appear as having very good AI to regular player.
A large part of the predictability is how the units come in at pre-defined locations and/or based on pre-defined triggers. There's very little randomness in this department.
If that was more unpredictable, if each death switched things up slightly, you'd have a far harder time gaming the system.
Like you observe, that might also make the AI appear smarter since the flaws are less obvious.