Lets start with telling me dynamically if I am routing through different (selectable) elements, like beams, columns, pipes and ducts but not walls. Its important for this to work with Linked files and highlight them on the fly.
Secondly, routing solutions should avoid these items as well (with a toggle). Solutions generated should route around other elements without creating a clash. Waypoints could help this process by creating 3d locations that you would like to route through (like an opening you would like to route through).
At a deeper level we should start thinking of ways to implement Local and international code based rules into Architectural & MEP modeling. For example trap arm distances for plumbing. or stay within 1-5/8" of the bottom of deck, or offset around structural elements and other MEP systems, pipe slope based on size, distance and system type. Rules that can be dictated and changed and warn your when there is a violation.