If someone thinks selectAll is inconsistent, they probably don't understand the central enter/update/exit pattern [1].
D3 is a powerful _drawing_ library and I've used it for totally custom visualizations where no canned tool would suffice. I think there's an un- or only partially-filled niche for more customizable _charting_ library that is more user-friendly.