I've been working on a project to draw directed graphs in JavaScript here: https://github.com/cpettitt/dagre. It includes some examples that show how to use it with D3. You can find the demos here, which should help give you a sense of whether this approach would address your needs or not:
http://cpettitt.github.com/project/dagre/latest/demo/demo-d3.html
http://cpettitt.github.com/project/dagre/latest/demo/demo.html
http://cpettitt.github.com/project/dagre/latest/demo/demo-d3-large.html