I am wondering if the acquisition of Landsat 8 data provides the same location over every visit (same pixel location). How can we compare the temporal change if there is any shift, and what are the possible ways of correcting that?
For answering your question, I would like to clarify something firstly, the orbit of satellite through every pass does not exactly fit the previous or the next acquisition, so the best solution in this case is to choose one of your dataset as master image and consider the other dataset or images as slave images and co-register the data using sub pixel co-registration.
I am not sure if the method is deprecated but you can use control points. Other approach is called image matching (Eugenio & Marquez, 2003), in that case the user take ancillary data (vector data with high accuracy) and use this to make do image matching. the second one was used with coarse resolution, but you can look if it works with Landsat data.
(Eugenio & Marquez, 2003) Automatic Satellite Image Georeferencing Using a Contour-Matching Approach
To be precise, Landsat 8 has 12 meter geometric error in CE90 that means 90% of points has less than 12 meters positional error. Reference: https://lta.cr.usgs.gov/L8
I use Landsat 8 Pan band as a reference in my studies, last time I checked I had 9.95 meter positional error.