There's another way of looking for causality directly from data. If A and B are uncorrelated but both correlate with C then you know that C isn't causally upstream of either.
The concept of an instrumental variable
https://en.m.wikipedia.org/wiki/Instrumental_variable
covers some of it. Judea Pearl's book Causality summarizes lots of recent (past few decades) work in the area, with a focus on his theoretical framework. There are lots of algorithms for discovering the structural of causality for sets of variables larger than three. Having interventional data always makes these things easier, but it's not the only way to get at causality.