I've learnt a few tricks through my work and off my supervisors as a web app programmer and web monkey in my job.
Ideally, one would want to make your web pages as clean as possible and offload as much layout and style to the stylesheet as possible for non-graphical/non-visual browsers. You would then use the fancier features of CSS2 together with layout tweaks for different media (e.g. printed output, slides).
As for testing, I generally make sure that my pages don't look like arse in just three browsers: a recent IE, Mozilla and Lynx. I try to aim for good looking output in IE and Mozilla, and readability in Lynx. Make sure you're also using the print CSS media type and checking the browser's Print Preview feature to ensure that people printing your pages won't hate you. Having your web application render separate 'print versions' of data is not strictly necessary these days, since the majority of people on the web using graphical browsers are using CSS2-aware browsers. CSS2 support is not 100% consistent or correct across all common browsers, so it can't hurt to test...
FWIW, Opera is very web-developer friendly. If you're willing to use nonfree software, cough up for a license or put up with the lame banner ads, it allowes you to switch and disable stylesheets and handles CSS media types properly (try the projection media type with fullscreen mode ;-))
Somebody at work mentioned the other day that the general design principle of the Web at it's inception was that publishers should be strict in what they produce and browsers should be lax in what they accept. By and large, this seems to have worked well, with browsers parsing even shit like "<b><i>foo</b></i>".
Mosaic essentially invented the web browser; most of the user-interface elements present in Mosaic are present in browsers today. However, if they had only included document validation within the web browser from the outset, they probably would have saved us all a lot of trouble WRT shoddy support of standards by tool vendors and publishers, etc.
Having a web browser parse the document and insert an icon and string into the browser status bar like "[TICK] HTML 4.0 Transitional" or a suitable error message sounds reasonable. If done early enough, such a feature, if common to all browsers, could've effectively embarassed thousands of individuals and vendors into building a cleaner and more interoperable Web. Hindsight is 20/20.
Short attention spans
I think I've got it all sussed out. My problem regarding lack of productivity isn't a lack of motivation, or a lack of sleep or time management skills per se, rather, a shortened attention span. After thinking about it for a while, I think the Web's to blame, since the issues I've been having coincide with the time I've had unfettered high-speed access to the Net.
I spend a lot of my leisure time browsing the Web, reading news sites and the like. My guess is that every time I do so, reading page after page or whatever has conditioned me to shorten my attention span through instant rewards.
I've also considered that each individual has a certain amount of time they can spend each day using their mind productively, and that time is consumed whether spent coding, or wasting time reading about Marcel Marceau or whippets.
Maybe a similar process happens when people develop IRC and MUD addictions? I've seen some people in the Furry crowd (no, I'm NOT a Furry) spend virtually their entire lives on MUDs pretending to be big-breasted skunks and weasels.
Well... I'd better stop wasting cycles writing this blog entry and get back to work :-)