Some tools that I use to improve my development are:
Visual Web Developer 2010 (part of Visual Studio 2010)
You said IDE sucks. With this you now have one of the best IDE out there, and if you used to code in C++ I bet you already know VS. I use the express version which is free and I don't need more.
JS Fiddle and Codepad
Great to try out HTML/CSS layouts, and JS scripts. Codepad is great to tryout your website in server-side languages.
Firefox + Firebug (or other browsers equivalents)
Debugging scripts is far easier using the browsers. You also have a complete tree-style DOM you can manipulate as you wish and changes will be applied in real time.
Use a framework
There are various frameworks for every web language out there. They offers you a set of functionalities well tested that ensures cross-browser compatibility, save you a lot of time of debugging, and "write less do more". I suggest looking into jQuery and YUI for JavaScript coding.
Console Log
To track your debugging progress, use a Debug Console, integrated in most browsers. In JS, using console.log('something to write');
will add a text entry to the debug console, this way you can add useful information to your code for debugging purposes and keep track of your code execution.
Boilerplate
Now don't get me wrong. I know you are into web application development and not normal website. But the fact is, it's still a website, and you still need to take care of the most important issue you have: cross-browser compatibility. This is a solid template which will give you a solid base for your HTML pages, and much much more...
CSS Reset
If you're not using Boilerplate, which comes with his own CSS reset, you may still want to make sure your pages looks correctly among browsers. A CSS Reset will ensure this. My favorite is YUI CSS Reset, together with CSS Base and CSS Fonts.