Resize all files is a solution. It is the solution.
You really should have an asset conditioning pipeline that can take your source assets and convert them into the appropriate size/format for shipping. This might include converting the textures to compress formats (the supported set of which can differ between iOS, various Android device, WP8, PC, etc.), resizing images, and possibly other things. You'll want the same for audio files and meshes if you have any.
You could resize the files on load, but this is a very poor solution. Loading the larger images and processing them takes time (for that poor little ol' CPU you're worried about), plus the user still has to download the high-res game on their older device. If you're deadset on this approach, though, maybe try the technique at http://stackoverflow.com/questions/2303690/resizing-an-image-in-an-html5-canvashttps://stackoverflow.com/questions/2303690/resizing-an-image-in-an-html5-canvas, which involves rendering the image in a smaller resolution to a Canvas and then reading the result back as an Image.