> But I don’t feel that I can say “write code that uses a random forest method to predict El Niños n months in advance” and expect one of you to do that in a week.

This is not that hard. The hard part is formulating the problem: deciding what signal(s) to predict, from what data and what loss function to use so that the are meaningful.
It might be easy to predict some signals with a high $R^2$ by simply locking onto seasonal variation, which would be kind of trivial.
Once the problem specification is agreed on the implementation should be fairly simple.
Consider the following [example](http://scikit-learn.org/dev/auto_examples/plot_multioutput_face_completion.html) from the scikit library documentation.