Some hints to anyone working on this. In 3.0 Attack and Bombard are separate actions. 3.1 splits "Suicide Attack" from "Attack". There are plans to split "Attack" even more in relation to Unreachable and unreachableprotects. Other actions, like "Sabotage Unit", can also be useful in this context. When the Freeciv AI makes a choice it typically does so by calculating "want" or - as AI people would say - utility. See utility based AI. I have (barely) started to work on utility based action selection in 3.0. At the moment all it is able to do is to select spy action vs a city.
Clearing the target as it seems that nobody has even plans to work on this for a specific version.
Really, AI has no idea that some units sometimes attack in a different way from other ones! Emergency plan: add a subroutine to calculate worth of a bombarded target. If the target is not next to our city (defensive bombardment), attack it only if we have attackers that can put down the stack and only if the bombardment is expected to be useful (I pretend looking for units in 2-tiles radius that can attack the stack in close time, separating them on ally bombarders and ally strikers, and then compare top combat worths and agregated combat worths with calculating the expected bombardment effect with Hoff's Gauss curve approximation). A bit more advanced plan: For bombarders and all units that won't have mp after an attack, consider the safest possible tile to perform the attack. May they even plead for bodyguard? A good plan: AI manages units in 3 sub-phases, first phase units select targets and call for an aid on them, if no aid possible, they strike; second: bombarders soften the best targets; third phase: the rest of non-bombard attacks happen.