+1. I could never figure out a decent way to pull this off aside from adding 1 row of extra tiles and stretching backgrounds outside of the level / viewport.
I suppose increasing the layout scale by 0.1 and then shaking would work, but some people might notice, and it'd look bad for low-resolution games.
Perhaps, if this shader were to be made, it could duplicate the outside rows of pixels starting from a certain point. So if you're using 16x16 tiles it'd be 16, giving the illusion that there is another row of tiles outside of the level. If you only duplicate the outside row of pixels then it'd look smeared.