Basically what it takes is read, read, and read. That improves your vocabulary and grammar usage. In these days where TV rules and the conductors of the programs that have highest audience have a short vocabulary and even shorter intelligence empoverish the language unless people expose themselves to more and more words everyday by reading.
Latest statistics here in Spain reveal that teenagers barely read books. No newspapers, no books no novels, their reading ability and comprehension is very low by the time they finish school, and the widespread use of SMS in their own jargon makes things worse. When asked to define anything the main used words are "awesome" and "nice". Words like beatiful, astonishing, enligthening,brilliant, superb, and others are absolutely unknown or not understood by them. When asked about giving sinonyms of words the number they can tell is one or two, most of them none. Not to mention the spelling/grammar mistakes which are daunting to me because they carry them up to university.
I had a more spartan upbringing, and by the age of 7 I could read perfectly with rythm and entonation, and by 10 I made not a single one spelling mistake and now I'm grateful for that.