The two words have overlapping meanings, so there are contexts where either one could be used. However, there are certain constructs where one would be regarded as much better than the other.
I'm not sure if I can provide an exhaustive list of contexts where you should use might instead of could, or vice versa. Let's start with the example you provided, which is when either word is followed by not.
The phrase might not indicates a possibility that the contrary could happen. The word cannot suggests that the contrary won't happen. And the phrase could not suggests that the contrary wasn't able to happen.
So:
He might not show up.
means that he might show up, but we're starting to think he may not, while:
He could not show up.
suggests that, because of some obstacle, he was not able to make it.
Let's say we're supposed to meet Mike at 8 o'clock, and it's now 8:20. We have no idea where Mike is. I might say:
Let's not wait any longer. He might not turn up.
However, just before I finish my sentence, my cell phone rings. It's Mike! Mike tells me that his flight is delayed; the airplane is having mechanical problems, they haven't even left the runway yet. Mike is 500 miles away. Now, I say:
Let's not wait any longer. He cannot be here; he's stuck in Memphis.
Next, my friend and I leave, and we go to Ted's house. Ted sees that Mike his missing, and asks, "Wasn't Mike coming with you guys?" I might reply:
We waited for him, but he could not be here. His flight got delayed.
This is because, while might infers a possibility, could can infer a possibility, or an ability. Let's say you set a bar a meter off the ground, and ask me if I'm able to jump over it without touching it. I could say:
I might be able to do that. (it's possible)
But now you raise the bar two meters off the ground, and ask me if I can jump over it. I might say:
There is no way I could do that. (it's impossible)
However, there are times when the words could be used interchangeably, as you have sensed. For example, let's say we're leaving the house for a few days, and we're trying to decide whether or not to leave the furnace on. I might say:
Let's make sure the furnace gets turned on before we leave. We might get some cold weather.
or:
Let's make sure the furnace gets turned on before we leave. We could get some cold weather.
In that context, the two phrases mean essentially the same thing.
Now, an interesting example for the advanced reader. Consider these two statements:
The repairman might come today, but he could come tomorrow.
The repairman could come today, but he might come tomorrow.
Is there a difference? I'd say that both of them mean that the repairman is supposed to come either today or tomorrow, although there's a little uncertainty as to which day he will arrive. But does one of them suggest a higher probability one way or the other? I don't think so, at least not reliably.
1.
He might go to Beijing.
Expresses a possible future action. Therefore the use of last month is impossible. You must use a time expression that goes with the future, for example:
He might go to Beijing next month.
2.
He might have gone to Beijing last month.
He could have gone to Beijing last month.
Both express a possible situation in the past.
→ He might have gone to Beijing last month.
According to context could mean:
There's a possibility he went to Beijing last month, I'm not sure perhaps he did something else.
I know he went some place last month, I don't exactly remember where, it could be Beijing. (sentence stress on "to Beijing" when spoken)
I know he went to Beijing sometime or other, it could be last month but I'm not sure. (sentence stress on "last month" when spoken)
→ He could have gone to Beijing last month.
There was a possibility for him to go to Beijing last month but he didn't go.
Best Answer
"He might be having lunch." : It is possible that he is having lunch. We don't say whether it is likely of unlikely.
"He would be having lunch." : I have no direct evidence that he is having lunch but, based on what I do know, I conclude that he is having lunch.
"Would" is a conditional. It is more completely used with a statement of the condition (e.g. "If it is noon he would be having lunch.") but it is very common to omit the condition and it is assumed that the condition is something like "Given everything I know ...". It makes the sentence weaker by leaving open the possibility of factors unknown to the speaker.