DNS does not completely replace IRC, as its database can only be updated by the maintainer, not by everyone.
There's not much difference between these two, as a channel operator can ban/filter addresses and an IRCop can alter the server to return basically anything. For both you need to trust the maintainer not to tamper with the service.
If you want the clients to dynamically add their addresses to the bootstrapping service, you can do this with DNS, too. E.g. set up a DNS server that accepts DNS UPDATE (RFC2136) to add new records (obviously deny delete attempts and purge outdated entries from time to time). Or set up a tiny UDP update service additionally to DNS where clients can submit their address to the database.
Here's my proposal for how a better DNS bootstrapping mechanism could work.
Each client could resolve a special dns name such as
where u5MGeZm2ktRwMNV is the same as the nickname used on IRC and encodes the host/port of the querying client.
The DNS server in response to this query would reply with a list of some number of verified bootstrap nodes. Rather than returning a simple DNS A record, the DNS server could reply with an SRV record specifying the port number as well as the address.
The server would then add u5MGeZm2ktRwMNV to a queue of nodes to be verified and subsequently it would appear as a reply to someone else's request. Perhaps if I have time I'll hack up an implementation of this.