I am not to familiar with these instrument and algorithm. But, in theory would be able to register to much better than one pixel. I suspect there is some higher distortion are at play. Otherwise, is there any change in the view angle. This may mess up the registration.
I think you can use the L7 ETM+ image without registering it to any other image of L5 or L7, for change detection. As these images are already delivered to users for Level 1T which means these images are terrain corrected and there is no need for image registration. For your reference: https://landsat.usgs.gov/Landsat_Processing_Details.php
For gap filling of ETM+ SLC off images, there is no any method using which you can retrieve the missing pixels but you can do approximation of those pixels. There are certain methods as you have also mentioned. Here are some more methods which might be helpful for you
What if I came across a L7 image wich shows 1- 1.5 pixel miregistration when linked with L8 image (original DN or calibrated Reflectance), which is not uniform? the misregistration seems of the same magnitude throughout the image, but directions are not the same. Sometimes in X direction, someplaces in Y, someplaces in both directions. But the meta data files of both indicate that the "GEOMETRIC_RMSE_MODEL" is below 5m.
I think for the mis-registration error of 1-1.5 pixel , you need to comprimise for it. Because still if you try to correct it, the accuracy might improve for some places but it is also expected that the error might increase for some other places.
If you dont correct the default L7 etm image atleast you have a reason which you can mention in your work that you have used the standard L1T product of Landsat.
I will like ro add more, the other factor that you are observing the differencce of 1-1.5 pixels inthe two images is that you mightbe comparing the L7 and L8 images of different date/month/year. When we compare such differnt images we can observethe difference inthe texture of same feature e. If its vegetation its texture will vary with seasons. Not sure but this could be a reason.
Thanks a lot everyone. I couldn't improve registration (L7 to L8) by any method. The landsat_destripe code (Vladimir uploaded, mentioned by Majid too) resulted in a very good gap-fill by using a near-aniversary image (although captured 12 yrs back). Even this wasn't enough to improve the registration, in some places the registration error increased as Majid foresaw. The band scatter plots were not as bad as I expected. So I proceeded anyway. Guess what's left to do is to note it down.
Thank you very much again for everyone contributed!
I would add to the answers above that the use of ancillary data, such as GPS points gathered in the field, among other sources, can be of great use in determining where the error(s) resides within your RS imagery archive.
Vladimir Filipovich is right. Try ENVI layer stack. This is a very important resource for multi-temporal (diachronic) change studies. I do recommend to proceed with the Reflectance calibration first (for all involved images), then the Layer Stacking. As a result you will have corregistered images. If the use of the ETM+ with SLC off is necessary the Gap fill will work better, and you will have the benefit of the fitting images for any other spatial operation you might want to execute.