Why does Ensemble Averaging actually improve results? Why does ensemble averaging work for neural networks? This is the main idea behind things like dropout.

Consider an example of a hypersurface defined by the following image (white means lowest Cost). We have two networks: yellow and red, each network has 2 weights, and adjusts them to end up in the white portion.



Clearly, if we average them after they were trained we will end up in the middle of the space, where the error is very high.
I think there is a missunderstanding in your question. In your question you imply that you take the average of the weights of the networks, and you should not do this. Instead, what you average are the predictions of different networks. For this reason, if you average two correct predictions the result will be a correct prediction, and the problem you were thinking about does not exist.