Is normalizing the data a way to improve generalization?
Batch Normalization is usually known to speed up the learning process as it makes the weights in the deeper layers more robust. It restricts the distribution of the weights in a particular layer - this video might tend to be useful to what BatchNorm does. This said, batch normalization does have a regularizing effect which does to tend to increase generalization. 

Talking about generalization - A focus on regularization would probably be more helpful