A-Life provides a good solution to the problem. It is obvious why the solution has been widely adopted—and we haven't even looked at all of the behaviors and their possibilities! Despite being a healthy compromise between simplicity and capability, however, there are a few issues with this particular solution to obstacle avoidance.
Some of the problems identified appear regardless of the solution, but one of them we can remedy: scalability. Artificial life, as implemented here, is essentially a collection of "if" statements, which are difficult to extend and manage. Such approaches have been the focus of another field of AI, namely rule-based systems. By looking into them further, we'll understand the fundamental ideas, enabling us to improve the solution and resolve its problems.