The real problem here is that the 4S has excellent noise reduction technology at work on its microphone, which is how Siri can understand you so well even in louder places. The iPhone 4 does not have that technology, which is why Siri isn't compatible with that phone nor any before it.
My car's bluetooth microphone, by comparison, is terrible. That's why Siri can't understand me very well. I did a test, and with bluetooth off and the phone in my cupholder a good distance away, Siri could understand me better than she did when bluetooth was on and I was speaking directly into the bluetooth microphone.
Unfortunately that puts us in a bad place. I have 3 options as it stands: (1) use the phone on Bluetooth and have Siri be half-useless, (2) use the phone without Siri at all, (3) plug the phone into my audio system via headphone jack and take calls on speaker, which makes it hard to hear the other party (though they can hear me fine because again the 4S has a great microphone). Taking calls NOT on speaker with this last setup results in the other party being able to hear themselves as though in an echo chamber.
What's the fix? Add a Siri Settings toggle: "Use iPhone Microphone for Siri" that I can turn on or off. That way calls go through bluetooth, and when Siri speaks I hear it through my stereo, and Siri still mutes my stereo when I want to talk to her... but Siri only listens through the iPhone's superior microhone.