I am a .NET developer like the poster, also been with the framework since the first beta (doing not just web, but also windows development), and I've had my share of frustrations with ASP.NET WebForms as well, but I quickly noticed that I could use Generic handlers (.ashx) to have a stateless experience, unlike the normal pages, which allowed me to add AJAX Handlers that did not suffer all the drawbacks. I just made simple HTML, added my own Ajax Requests (before jQuery) and had a blazing fast web app without all the fake 'state' that ASP.NET WebForms added.
Once MVC came around the corner, you basically get the Generic Hander + a way to properly structure your code. Once the Razor view engine came to be, there was also a way to maintain proper templates.
All in all, ASP.NET MVC has been great; you get all your .NET code for the back end, just HTML5, CSS3 and JavaScript on the front end, and no more fake 'state'.