Standard logic uses the material conditional, which says that the statement "if p then q" is false only when p is true but q is false, and true otherwise. This has two interesting consequences. First, when p is false, the statement is true regardless of whether q is true or false. Second, when p and q are both true, the statement is true regardless of whether a relationship between p and q exists.
The results of the material conditional seem strange because English speakers expect such statements to be true because a relationship exists between p and q. In fact, I suggest that when an English speaker makes such statement, what they're asserting isn't that either p or q is true. What they're asserting is their expectation (i.e. that a relationship between them exists).
It seems to me that when one translates an English phrase like "if p then q" into a logical statement, one should use something more intuitive than the material conditional. Note that the counterfactual conditional is not quite enough, because that conditional is based on possible world semantics, so it's actually a slight generalization of the material conditional. One should instead use a new conditional that represents the existence of a constructive argument linking p and q. This means, at a minimum, that such an argument should not depend on the law of the excluded middle.