I've come to appreciate snake case (or hyphenated words in languages like Clojure) because it adds a little extra space in the syntax, and this break is easier to read I think. Long camelCased phrases are often really dense.
If using mainly underscores, I don't see what other separator I could use as a higher level separation. Maybe two underscores, but that could too easily be seen as a typo.
For programming underscore should be narrower than space.