MVC completely fixes this problem, since there is no third-party server on the html-code side. All of your html is right in your views, so you have full control over every element. You also risk (in the case of a page of hundreds of entries) oncoming entries.
One way to help reduce all the html created in WebForms is to remove everything that is not absolutely necessary for working with webusercontrol. For example, most shortcuts are static. They can normally be replaced with standard text or elements that do not include the runat="server" attribute. This will prevent the creation of identifiers in the first place. Another way to reduce the amount of junk mail that is generated is to remove as many controls as possible from ViewState. This will prevent them from loading status data and reduce the viewing time of the ViewState.
ClientIDMode is an inherited property, so you can set it in web.config (global), web.config (local) or page level. You can also use it individually. Your question specifically addresses this, but it is probably the best option with maximum flexibility without overwriting what you already have. If rewriting is not a problem, I would recommend using MVC.
Joel etherton
source share