I really wish Graphviz had some smarter automatic layout algorithms. If I'm not manually laying out the graph, and it isn't one of the select few kinds of graphs that works well, the results are often quite poor.
A difficulty is that implementation is harder than a typical student project, and we need some decent developer documentation.
I don't have the answers, sorry, only the frustrations. I know it's a hard problem, and subjective at that. I don't mean to put graphviz down, it's still the tool I go to.
I don't know - the currently smart one are already pretty slow in many cases. I'm not sure I have enough time in the day to wait for something even smarter to run!