There is, actually, another way. It can be a little tricky to make.
1. Duplicate your background layer you want to loop.
2. Change the offset keyframes, of this new duplicated background, so that the last keyframe had the same properties as the first keyframe of the old background.
3. Then, instead of looping layers by changing each others opacity, create mask’s. Animate the masks path’s: make them moving cascaded with overlap using mask feather.
It may be less noticeable, than looping by changing opacity of the whole layer. Give it a try.