Framerates and higher resolutions are the two main improvements that you could have. For example, imagine if all Xbox 1 games were fully backwardly compatible with the 360 (by writing the games to run in a framework that was reimplemented on subsequent systems). Have several resolutions available as options (say, 480p, 720p, and 1080p), but have the higher resolutions unavailable (greyed out, for example) if the hardware can’t support that resolution with a smooth framerate yet. So for an Xbox 1 game you might only have 480p available. Boot up the game on the 360, and higher resolutions are available. Similarly, an Xbox 360 might run in 720p, but run in 1080p on a future console. It’s similar to how Doom 3 had an “Ultra” setting that pretty much no PC could handle at the time of the game’s release. Also, any framerate issues could be cleaned up on future hardware (ideally the framerate would be smooth in the first place, but in real world console games this doesn’t always happen).
You could have a software check to prevent newer games from running on older hardware at all if the framerate wasn’t going to be reasonable in the minimum resolution. So long as the required specs are clearly stated on the box, it’s only a little different from buying a game for a particular console… there would just be more intermediate steps between each generation. The iPhone is actually a good example, it just needs a bit more quality control so that apps are guaranteed to run smoothly if the spec says that its supported.