I'd go with this since it's not performance critical code. Not sure if it's that more readable, but I like it better:
BY_NODE_NAMES = HANDLERS.map {|h|
h::NODE_NAMES.map {|n| [n, h]}
}.flatten(1).to_h