Interesting question. What you're experiencing is normal, but I doubt anybody knows exactly why there are good days and bad days. If we did, everybody would use it as a cure for heartache. Things like getting enough sleep, having a positive attitude, spending time with others all help. But the only way to get past things completely is to give it time. Until then, it's like there's a random switch in your brain which will be on some days and off on others. As more time progresses, it's off more often.
“This planet has - or rather had - a problem, which was this: most of the people living on it were unhappy for pretty much of the time. Many solutions were suggested for this problem, but most of these were largely concerned with the movement of small green pieces of paper, which was odd because on the whole it wasn't the small green pieces of paper that were unhappy.” ― Douglas Adams, The Hitchhiker's Guide to the Galaxy