Are there any template matching / optical flow algorithms for large image displacement? I had some success with feature-based methods for image registration, but these methods are sometimes unsuitable (e.g. images containing repetitive patterns, very low contrast, low texture, no edges/corners).

I am therefore looking for a direct (pixel-based) global alignment alternative.

So far I looked on algorithms like Horn-Schunck, Lucas-Kanade, ECC but all the examples show only images with very small displacement (few pixels at most).

Is there any direct (pixel-based) method for registering images with a displacement of 200 pixels or more (in any direction)?

So far I am using simple template matching with exhaustive search over possible image shifts and Normalised Cross-Correlation error metric, which works, but it is extremely slow (basically $O(n^4)$) and does not allow for rotation.

Are there any faster methods allowing large image shifts/rotations?
I personally like this one. It is nicely designed for occlusions and large displacements. 

But, recent trends in deep learning lead to better results in optical flow such as this and this.