I learned to improve my writing quite a bit by using outlines that let me shift through levels of abstraction at will. I write long e-mails and blog posts using mind-mapping software. Being able to re-order my paragraphs & sentences, include or change examples, and step up and down different levels of detail has made it much easier for me to communicate the points I want to make. I've found that this helps even when I'm writing short e-mails or HN comments.
Admittedly my writing doesn't sound pretty. I'm okay with this. My e-mail chains end up much shorter than any other programmer/analyst I know and result in significantly fewer misunderstandings. That's what I call success.