As of ODK Collect v1.11, it is possible to specify the maximum size for the long edge of all images in the general settings. This setting can be hidden from admin settings. Images are resized immediately when they are taken/selected.
If a particular question in a particular form specifies a maximum size, then the application setting is ignored. For example, if I set the maximum size to 640 in the settings and then use the form below, images will be of size 1024, 777 and 100.
XLSForm still doesn't have an elegant way to specify the max pixels for an individual image. However, I just remembered that a column with name bind::orx:max-pixels
can be added. See an example here that caps image sizes to 1024, 777 and 100.
Thanks @Grzesiek2010 for implementing this. Hopefully it will make uploading on slow connections a little easier.