One heuristic is to write things as you would read them out loud. In other words, don't try to save space in print unless you would use the same abbreviation in speech.
For example, I'm happy to say "i.e." or "e.g." orally in certain situations, so those abbreviations can be fine (indeed, it would sound really weird if you wrote "id est" or "exempli gratia"), but I would never refer to "Sec. 5" or "Eq. 3" when speaking. Trying to pronounce "Ch. 2" as written would be even worse. By this standard, abbreviations like NASA or FFT are OK, although they can of course be overused and they may be more cryptic than the writer intends.
This principle extends beyond abbreviations: try not to write anything that would be awkward to read aloud. (For example, mathematicians sometimes violate this by juxtaposing formulas with no words in between them.) Of course this is not an absolute rule, but following it will generally make your papers easier and more pleasant to read. The effects are admittedly small, but if you are explaining complicated or subtle ideas, you shouldn't add to the difficulties with clumsy writing.
LaTeX
to typeset your papers, you can use thecleveref
package to help ease this kind of thing :)