I feel like automated flight could always avoid incident by detecting all objects (at the same elevation) within $x feet, and if the object is north of you, move up $y feet, and if it’s south, move down $y feet, unless another object is above/below you, in which case veer $z degrees clockwise and continue travel until you can change elevation?
Here's Wing's blog on it: https://medium.com/wing-aviation/wing-demonstrates-decentral...