Therefore, I like the idea of deciding up front of
a browser is going to support JavaScript or not and then choose the most
optimal rendering from then on out (i.e., render normally once it's
determined that JavaScript is enabled rather than using these hacks on every
request).
I agree. Everything we do can only be a "best try" approach - nothing
more. Not only the basic styling of a button as link is a problem in
some (although only a very few) browsers, there is also the more
general problem of being able to specify any content for a link (often
an image and a text) and not being able to do the same for a button.
regards,
Martin