Is there a heuristic for homogenizing image dimensions before using them to train neural net?
I don't think there is a standard approach on this. In machine learning, in many cases we have to try and see.

If I were you, if I had to build a custom neural network, I would start with mean image size and then I would gradually increase the size until reaching optimum score.
If you are using a pretrained neural network then just resize your images to network's default.
I am training a neural net on a set of images with heterogeneous dimensions. Of course, they all have to have the same dimensions to be fed to the NN, and it is simple enough to use scipy.misc.imresize() for this. But, how should I choose width and height? My first instinct was to plot histograms of both and eyeball values around the 75th percentile. I also thought maybe I should scale all images up to the max values for both height and width, so that no details are discarded from the higher-pixel images. Is there a best practice for addressing this problem? Thanks!
For reference, I am using python 2.7 and keras with theano backend and dimension ordering.