1) Look for signs other than your body: Did you do something different that maybe didn't work? A gel you hadn't used before, a pre run meal that you wondered about? Too little sleep? Some runs don't have any reason, but sometimes you can find the culprit of a bad run and remedy it for next time!
2) Listen to your body- We all know to listen to our body when we are in pain or injured, but where do we draw the line between I can't and It's not worth it? I think knowing when we can't do more and when we don't want to do more is something we all learn over time. But knowing that if we push through mental or physical fatigue there are times when it's not worth it and those are harder to gauge.
3) Learn to roll with the punches- some days we can tell that we aren't in the mood to run, we know we are tired, sluggish or that we need more rest. If you know that before the run, maybe go out for a brisk walk or bike ride instead, if you can avert the bad run before it happens, that's best. If your in the middle of one, there is no shame in walking or cutting it short!