My current thought is this... before we attempt to form intermediate shortcuts with remote entities, we should attempt to find the best path to that entity. Once we have the best path, it should be natural that if any of those hops were to form intermediate shortcuts that it should only make things faster. Now if the triangulation were violated, we would need to continually optimize our route and not assume it is ever optimal, but in only a way such that it does not interefere with traffic.
Some key things that need to be figured out, when do we attempt to find the best path between two points, when do we believe we have an optimal enough path such that we should begin forming intermediate shortcuts?
Perhaps a simple metric is this, when a direct shortcut has been attempted we should also begin finding the optimal path.