Basically a productive discussion requires a respect for someone else's right to express their opinion, however base or misguided it may be. Not that you agree with a single word that was written, but the other person has a perfect right to post whatever they want, subject of course to the USMB rules. And there's no doubt there are many base and misguided posts around here, so I think first of all we've got to make a determination up front if you want to have a productive discussion:
First, is the post worth responding to. Most of the time you can tell when a post or thread is not intended to start a productive discussion but instead is an invitation to a verbal fight. No doubt the mods will eventually delete the post or find the thread and move it to a more suitable environment, but is it worth your time?
Then you've got to decide if the post has any salient points that you want to expand on or oppose, and if it does then make your response. But - do so without insulting the post or the poster. Calling somebody an idiot or characterizing their post as garbage is hardly the way to engender an intelligent discussion. If you find yourself fighting the urge to say exactly that then the chances are you're better off not responding at all IF your intention is to engage in a meaningful discussion. Be calm, be rational, be logical, and be cogent.
A productive discussion is worth having; it's challenging and you learn stuff. Nothing wrong though with a good old-fashioned verbal bar room brawl where the insults fly. It's kinda fun to read in the proper setting, I'm not creative or mean enough to do it well myself, but I do appreciate the talent that some around here have in that regard.