This is a good thing. Perhaps you could get the Maraton folks to stop recommending such an awkward solution in preference to your work?
For a small number of nodes (< 100) and requests (< 8000 req/s on each vulcand server) this vulcand approach is ok. For large scale, HAProxy/Nginx supports a lot more req/s than vulcand, and I think it can also be configured using confd [0] using a similar aproach: listen for marathon events, update etcd keys, then confd will listen for changes and reload HAProxy/Nginx
[0] http://ox86.tumblr.com/post/90554410668/easy-scaling-with-do...