Scaling down the textures is probably not the best idea, because some games have very large textures. If there is a scene that doesn't fit on the screen, the background texture can easily be over 2000 pixels wide and only a part of that is visible.
I think a better solution would be to have a small library wrapping around OpenGLs texture handling functions and taking care of splitting large images into small enough chunks (creating multiple GL textures) and putting them back together when drawing.
Such a thing could also take care of creating only textures with sizes in powers of two. It could be used for any game port. I wonder if that already exists, I didn't find anything. Or if at least someone did something similar in a game. If not, is someone interested in creating it? I don't know when I'll come around to do it myself.
I have done similar things... at least I auto resize images to nearest PoT before creating an OpenGL Texture. Not created a lib to split textures automatically yet though!