I understand the direction you went using the `/nodes` endpoint, and although it "works", I don't think we should encourage this.

`nsqlookupd` should be used strictly for consumer side discovery.  It isn't currently designed to facilitate the publisher side because there is a chicken and egg problem for first-time topics.  Admittedly you've worked around it by using `/nodes`, but I don't think this will work well as a cluster grows (you'll be publishing randomly to larger set of hosts).

My vote would be for this aspect be left up to the user until there is a better solution.  As it stands, my normal response is to for producing services to publish to a local `nsqd`, bypassing this problem entirely.  This has worked extremely well in large clusters.