Well, nobody is forcing you to use .browser files. But these are a documented method, so they are far more likely to remain working than your hack.

Also, does your code deal with the many other changes in rendering that ASP.NET has when it goes into down-level mode? Especially the more complex controls have vast differences (for some reason, ASP.NET likes to replace <div>s with <table>s in many cases).

With the .browser file approach, you can catch everything for all browsers with just a few lines of XML. I do this myself, it works great.