Generic references to time are often pretty ambiguous and imprecise in English. Understanding the meaning can rely heavily on context and clues from other words in the sentence, surrounding discussion, or knowledge or history shared by the people involved. The examples in the question describe some of the different potential meanings, but trying to reduce it to a simple set of rules would be difficult.
The tense of the sentence is usually a good clue as to which weekend is referred to, especially in combination with what is discussed in Leila's answer, but it's complicated by multiple possible meanings of the words. Another clue is the alternate words people would likely use in certain cases. Take this example:
"My birthday was this weekend."
One meaning of "was" indicates a past event, and "this" indicates the closest weekend.
If it is still part of a weekend, people ordinarily wouldn't refer to the weekend, they would refer to the specific day. If the sentence is said on Saturday, it wouldn't make sense. The time period it could refer to would be earlier that day but a birthday is all day, so past tense doesn't fit.
If Saturday was the birthday, people would say "my birthday is today". If they wanted to be vague, they would say "my birthday is this weekend because that would include today and tomorrow. In this case knowing how people normally say things is an important clue to understanding the sentence.
If it is said on Sunday, the birthday could be Saturday or Sunday. People would ordinarily say my birthday was yesterday or today, depending on which day it was. If they wanted to be vague, they would say it was this weekend because that would include yesterday and today (today is partly over, the birthday is all day, so earlier today could have included it).
On Monday and Tuesday, "was" and "this" clearly refer to the past weekend. Wednesday is midweek, but the logical interpretation would be the past weekend.
On Thursday or Friday, "was" and "this" are in conflict. The closest weekend is in the future and "was" refers to the past. If someone was going to refer to the past weekend, they would say "my birthday was last weekend" or "my birthday was this past weekend".
On the next Saturday or Sunday, "this" would refer to the immediate weekend, so the sentence wouldn't refer to the past weekend.
However, "was" also has another meaning. It can refer to something planned in the past that will not, did not, or may not happen. "The delivery was scheduled for today" means either that you don't know whether it will actually happen, or you know that it will not or did not.
Substitute "reservation" for "birthday". A reservation relates to a future event. So say it is Wednesday, Thursday, or Friday, and you say "my reservation was this weekend". "Was" and "this" now have a completely different meaning. The sentence now refers to the upcoming weekend, and the fact that the reservation may not or will not happen.
That interpretation doesn't work with "birthday" because "birthday" refers to a fixed day, not a relative period in the future, and there is no doubt that it will happen.
So understanding what "this weekend" refers to in the simple construction "My X was this weekend" is affected by:
- what day X in on
- what day the sentence is said
- the potential meanings of "was"
- how people would normally express the meaning in the various situations
- whether X implies a timeframe
- the presence of "this" in the sentence and the combination of "was" and "this"
- characteristics of X that preclude certain interpretations
- whether a potential meaning is logical
And this is not an exhaustive analysis, just what occurred to me as I was writing this.