Which learning algorithms to use in what order - dimensionality reduction, bayesian network structure, regression?
Is there any "known" approach to such a problem, i.e. a way to
  determine the formula that connects the initial variables to the later
  variables that determine the outcome, and then further determining the
  predictive power of the resulting network?


This is kinda a question about modelling approach as well as different types of models. I think that it is always best to start with simpler models, such as simple logistic regression. In this case you are trying to predict which runner will win, so that is a 0/1 outcome. So you can put all of your variables into a logistic regression model and see how it performs in terms of accuracy. If you have a lot of predictors, you can add a penalty term like L1 or L2. The simplest model serves as a baseline by which to compare more complex models, which might not always work better.

The formulation you describe seems to like a very common one. These are often called Latent Variable models or others might prefer to call them Bayesian network models. The idea is that we cannot measure a particular quantity directly, but we can use indirect measure to estimate them. So if your sense is that "talent for sprinting" and "current form" are better predictors for predicting who wins the race, then you can use a method for Latent Variables. I have not run those in a while but there are common algorithms like the EM algorithm or Markov Chain Monte Carlo sampling. 

So by fitting the two different models you can see how much accuracy you gain by adding the latent variable structure versus making no assumptions about the structure. There are methods to try and estimate the bayesian network structure, but they often require a lot of data. In a case like this you might not have enough data to a neural net or something. 

I don't think dimensional reduction would necessarily help in this case. You do seem to have time-series data, which you could include directly into the logistic regression equation. You might even be able to try an LSTM or sequence model if you have enough data. 

Those are some ideas off the top of my head, but I think the idea of starting with simple models, benchmarking them, and then trying more complex models is the best way to learn and to avoid getting lost. Haha. Happy running.