The way to learn to write is simply to write.
But then you get feedback on your writing and rewrite it in the light of feedback.
The software model community has a process called a fairly detailed Workshop of Writers. When you send a document to a pattern conference, you are assigned an expert pattern pastor, usually with knowledge of your field. The pastor works with you (the "sheep") to improve the paper on three or four iterations of feedback rewriting.
After the pasture, your contribution can be accepted at the conference, even if not for presentation in the traditional sense. The conference consists of a series of writers' workshops in which some (8-10) authors have their articles discussed by other the participants as they listen and take notes. The author has a very small part in the different seminar to think about what others are suggesting on how paper can be improved.
After the workshop the author can ask questions, but he can never "defend" the work. The idea is that if others misunderstand you, then it's your job, not theirs, to solve it.
The document is then reviewed again and it is this version that makes it available. The idea is to improve the printed version, not to present a version prepared without help.
The model community is very united because of this work together to improve the work of another.
This process was brought to the software development community by Richard P Gabriel, who is at the same time a fanatic (Lisp et al.) And a poet. The same process is used by poets, in fact it is rather ancient. The RPG wrote a book about the process: the workshops of writers and the work of doing things
If you do not have the model community behind you, or if you're not writing schemas, it's relatively easy to create a local writer's workshop and follow the process. You can do this for any type of writing as long as you have some people with domain knowledge and some writing experience.