In the standard sort of mathematical logic a statement must have one and only one of the values ("True","False"). (Instead of speaking of "statements", the term "proposition" is often used to emphasize that logic deals with assertions that are unambiguous as far as their truth or falsity.) In standard logic, a statement can't be assigned the value "undecided" or "unproven". If P and Q are statements and we are going to say "If P then Q" is a statement then "If P then Q" must be be "True" or "False"
What conditions will make "If P then Q" False? It's clear that when P is True and Q is False that "If P then Q" is False, by the interpretation we use in ordinary language.
Are there other conditions that might make "If P then Q" False? You might consider inventing a kind of logic where the truth or falsity of "If P then Q" cannot be determined from the truth or falsity of P and Q individually. This would reflect how people think before they are indoctrinated into mathematical logic. When they consider the truth or falsity of specific implications like "If a week as 8 days then the last day of the week is Monday" or "If 3 + 3 = 0 then 6 = 6", they would tend to classify these statements as "unclear" or "undecided". However, if you forced them into a True-or-False decision, they might not follow the same pattern consistently. They might say that "if P then Q" is True for some examples when P is False and False for other examples when P is False.
A logic where the Truth of "If P then Q" must be decided on a case-by-case basis for each different pair of statements (P,Q) wouldn't be useful in mathematics because mathematics deals with generalities.
Elementary logic deals only with propositions. When you talk about the statement "If P then Q", you aren't supposed to think of P and Q as "variables". They are supposed to be specific statements. To talk about generalities, you must introduce variables and quantifiers into logic. The standard quantifiers are "For each" and "There exists". For example, "For each x, if x is a real number greater than zero then the additive inverse of x is less than zero".
Technically, the expression "if x > 0 then -x < 0" is not a statement of the form "If P then Q". This is because "x > 0" isn't a specific statement until a specific value of x is given. When we hear the assertion "if x > 0 then -x < 0" in a math course, it's natural to fill-in the missing quantifier and interpret it to mean "For each x, if x > 0 then -x < 0". This implication takes the form "For each x, if p(x) then q(x)" where p(x) and q(x) are statement functions . The function p(x) become a statement only after a specific value is substituted for x.
In mathematics, we want generalities such as "For each x, if x >0 then -x < 0" to have exactly one of the values "True" or "False". We don't deal with a logic where a generality is "Somewhat True" or "Mostly False" etc.
If we want a generality like "For each x, if x > 0 then -x < 0" to be True, then it should be True for all specific values of x. We don't get to say that it is "not applicable" to certain values of x. So if the generality is true for all x, then it must true for values like x = -5. For this to work out, the statement "if -5 > 0 then -(-5) < 0" must be counted as True.
This line of thinking explains the mathematical convenience of having "if P then Q" be True when P is False. It isn't a proof that "If P then Q" must be that way. Instead you should regard the truth table of "If P then Q" used in logic as a definition of what "If P then Q" means in the context of mathematical logic. (As to what "If P then Q" means to the man-in-the-street, it may not have any consistent truth table.)
In mathematics, saying "For each x, if x > 0 then -x < 0" is equivalent to saying "For each x such that x > 0, -x < 0". To rephrase the viewpoint of Niles3 and Smullyan, a generality like "For each x, if p(x) then q(x)" is regarded as True when the if-part of the statement correctly "filters out" all cases that the man-in-the-street would say are "not applicable".