I don't know much about math history, but here is how I think of implication being true for false premises.
Implication is, at least in my opinion, most useful in first-order logic when you can say something about all objects. For example, in regular propositional logic, you might be able to say that $itIsMonday \rightarrow tomorrowIsWednesday$ when $itIsMonday$ is false. However, this doesn't make any sense because the day after Monday is still Tuesday even when it is not Monday.
This paradox comes from the fact that this kind of propositional logic model is not robust enough to really model our days. Since there are a finite number of days, we can create a propositional logic model in which our days and how they are related in order can make sense, but we would need a lot more variables. Therefore, I like to use first-order logic. First-order logic lets us say things about all days. For example, the function $isMonday(day)$ can check if $day$ really is Monday and $isNextDayWednesday(day)$ can check if tomorrow really is Wdnesday.
Now, if we just write $isMonday(day) \rightarrow isNextDayWednesday(day)$, then we run into the same problem: If $day$ is not Monday, then this conditional will be true even though it really should be false. To fix this problem, we use a quantifier:
$$(\forall day)(isMonday(day) \rightarrow isNextDayWednesday(day))$$
The $\forall$ is a universal quantifier and basically means the words "for all" and lets us say a statement about all days, not just one random day called $day$. Now, the above statement is false because when $day$ is actually Monday, $nextDay(day, Wednesday)$ holds false since the day after Monday is not Wednesday. For the statement above to work, it needs to be true for all days, not just one day.
Now, this is where implication being true when the hypothesis is false comes in handy: With our existential statement, we only want the quantifier to check the statement if $day$ is Monday. Otherwise, we do not care whether or not tomorrow is Wednesday because we only want to look at the case where today is Monday. Therefore, we make the conditional automatically true so that the quantifier won't deem the conditional false for cases that we do not want to check the conditional for.
Therefore, this is why conditionals are true when the hypothesis is false: When we make a conditional about many different objects, we only want to see if that conditional is true for certain objects satisfying the hypothesis and ignore all other cases. Therefore, in order for the universal quantifier to work, the conditional must be true for cases we don't want to check where the hypothesis is false and the conclusion should only be checked if the hypothesis holds.
I hope this clarifies conditionals for you!