Did not get a lot / any response to this old post about image quality degrading when you downscale your image.
I have stumbled upon a solution which seems to yield good, and fast results, although I've not yet tested in all browsers. Here's what I do:
I load the image outside of processing (using loadimages.js or just the onloaded callback). Then I set the size of the img in the html to the desired size (e.g. if I download a 100x100 pixel image, I can set the width and height to 50 on the img tag) and this performs quick and high quality image resizing. Then, I create a new PImage outside of processing and pass my PImage instance into processing. It then renders the PImage at the desired smaller size.
The quality is much better. One of the problems is that when the image is resized in the sketch, we need to go and change the size of the image in html... there is an additional level of complexity which needs to be tackled.
I am wondering if this is a general approach which might be good to integrate into the processing.js source itself? Are there better and, hopefully, easier solutions out there?