Michael, I like to shrink large photos to 1000 x something less for upload here, for the reason you listed about wanting to see fast downloads when people view them. In the case of documents, though, I will typically use the maximum size possible so that people can examine them closely to interpret what they say if it is not very clear.
In either case, when displaying images on a profile page, I will use the {{Image}} template and specify a maximum of 600 (that's pixels) for width. People can always click to the image page, then to the full size if they want to see higher resolution.