Wouldn't that be solved by repeatable experiments?
If condition A exists, then event B happens, it would of course be wrong to assume that condition A caused event B. However if you design an experiment to repeatedly reproduce condition A, whilst ensuring no other variables are present, and B always happens as a result, and at the same time a control study where condition A is not present, B does not happen, then couldn't you conclude that it is at least probable that A is the cause of B?