When dd started saying "Sh*t" all the time a few months ago, we ignored it at first. Then, when it didn't go away-and started getting a bit worse-we started "correcting" her. (Keep in mind that because of her language delays, we were extra reluctant to try and get her to STOP saying any word for fear of making her think she shouldn't talk at all.)
Every time we heard her say, "Oh, sh*t!" We said, "Yes, oh shoot!"
You could try saying, "Fudge" or something similar. I don't know if that stopped it or if she just got tired of saying sh*t, but it did stop-she hasn't said it in months now. And it was only a couple of weeks between the time we started with "shoot" and the time we noticed we hadn't heard the other. Of course, she doesn't really say "Shoot" much either-but every once in a while she does.