The reason the AI avoids objects is so that it doesn't get stuck.
It is nearly impossible to create an AI behavior that finds cover and uses it without being told precisely where the cover is(which is what's done in most FPSs).
As with the OFP AI, the Arma AI is much, much better in the open than in any kind of city or village. From my experience leading AI squads and using AI in this game the worst thing you can do with the bots is use them as infantry in cities. It's better to keep them in vehicles where it's safe and they can scram.
This isn't to say they're totally useless. They do have good aim, particularly at the close ranges of CQB and decent reaction times.
In order to make them good at CQB you'd pretty much have to either pre-script them paths close to buildings, walls, and other cover or spend a LOT of cpu cycles trying to convince them to do it heuristically.