Adding a second mechanism is just not going to work at all, I'm afraid. How would the application know which encoding you're trying to use? There's also no clean way to solve the reverse DNS issue with hashes.
Besides, it took long enough to get IDNs out "into the wild", and they're still struggling. IE6 still doesn't support them out-of-the-box, so there goes about half (or more) of your non-technical audience. I use exactly one site with an IDN regularly, http://öbb.at/ - the rail company here, and they actually advertise their other, non-IDN domain, oebb.at, presumably due to lack of browser support.
Besides, it took long enough to get IDNs out "into the wild", and they're still struggling. IE6 still doesn't support them out-of-the-box, so there goes about half (or more) of your non-technical audience. I use exactly one site with an IDN regularly, http://öbb.at/ - the rail company here, and they actually advertise their other, non-IDN domain, oebb.at, presumably due to lack of browser support.