It seems that the cause of the situation of curdling soya milk in coffee is that the acid from the coffee curdles the proteins and/or fats in the (soya or other) milk, being catalysed by the heat of the coffee; so that's what needs to be mitigated.
There are a couple related questions on Cooking.SE, including this one that suggests adding salt to the coffee will help a little (table salt, or even bicarb / baking soda).
I have tried adding table salt to the coffee first, then adding the coffee to the soya milk, and it seems to help (a little, sometimes; YMMV). Another Cooking.SE question also suggests waiting for coffee to cool.
The linked TheKitchn article (linked from the aforementioned previous question and @PythonMaster's answer) suggests that cooling the coffee, or pouring coffee into the soya milk (rather than the other way around) helps via similar mechanisms. In my experience in messing around with this, I have not found the order of adding ingredients makes much difference (i.e., putting coffee into the soya milk). It absolutely depends on the type of coffee, also, because different coffees will have different degrees of acidity. See also this table about relative acidity levels.
However, it is certainly the case that adding coffee into the milk will be helpful in general (compare also to tempering of eggs or adding acid into water rather than the other way around). In this order, these allow temperature and acid (respectively) to more slowly come into balance between the two substances as they are being combined.
IMHO, I have found the brand (i.e., the ingredients and production methods) of the soya milk to be the biggest factor. I (personally, with not-entirely-scientific -- yet! -- trials) find that soya milk brands that contain emulsifiers (or other additives) are less likely to curdle in coffee. My only guesses are that
- these compounds (emulsifiers, thickeners, or stabilisers, such as carrageenan or xanthan gum) interfere with the coagulation, or
- something else in the processing (perhaps, e.g., pasteurisation) has denatured the proteins or otherwise chemically changed the nutrients such that they are less likely (cf., UHT or ultra-pasteurised milk)
I generally prefer to avoid the additives, so this is an unfortunate conclusion for me personally.
Freshness of the milk is also an issue; milk of all types will spoil and slowly start to curdle due to natural processes (fermentation, bacteria, other contamination). There's another question about storing soya milk in the freezer, where we reached similar conclusions.
At the risk of making this an even longer answer, here are some other things to try:
- Add cold coffee into soya milk. Does it curdle? If so, it seems temperature is not your only enemy.
- Check your label; does it have carrageenan or so? If so, this might not be the metaphorical silver bullet.
I'm interested (fascinated, even; obsessed, maybe?:) ) with this, so I'd really like to hear feedback. Of the dozens of articles I've read on this, I've still not found a proper solution.
Happy experimenting; comments welcomed.