The great thing about smoke, is that when used defensively, most of the time someone is sitting in or right behind it. So the Smoke is really just a giant target that screams "fire excess ordnance here."
Use smoke offensively, don't fire smoke infront of you, but infront of where you're taking fire from. You'll blind a larger portion of the opponent's vision, you won't mark yourself as a giant target, and you really should be running for the nearest piece of cover to pull in over yourself anyways.
Smoke is best used to blind your opponent, range your opponent, or to lay a screen for follow on forces.
Hiding in smoke is generally a bad idea, you can't see anything, but it costs nothing for them to fire a shot into smoke and score a lucky hit.