From Battlefront:
This seems a little defeatist to me (of course, I don't have to write the code, but still). The AI already must use some form of "fuzzy logic" to choose between (in my example) the nearby scattered trees and the farther away woods. A new option, stay put, need not have a fixed rule ("only stay put if cover is more than x meters away"); rather, the decision to stay or run to a particular piece of cover would use most of the same factors that the AI currently uses to choose between nearby scattered trees and farther away woods.
Would such a system be perfect? No. Would people still whine about how it is implemented? Yes, but hopefully less. Reasonable people can disagree about when units should (realistically) sneak for cover and when they should stay put, but I think that most people would agree that in some circumstances staying put is clearly the best option; an option that the AI does not consider now. Given how well everything else in the game is designed, I am sure that I (and many others) would be happy with whatever "weight" BFT put on "staying put" vs moving to cover, as selected by the AI.
Finally, perhaps I'm just dense, or I'm not communicating clearly, but I don't see how this solution is a memory issue. Units may stay put, then the next turn try to sneak to cover, then next turn stay put again, or whatever (not unlike real life, I imagine). This behavior would still be an improvement over the current model.