Flickering occurs when the cache loads just before turbolinks overwrites it with new content. I was able to fix this by placing (in the <head>layout) the following code:
<meta name="turbolinks-cache-control" content="no-cache">
The above code disables the turbolinks caching feature. No caching == no interface flickering. However, using the back or forward buttons in the browser will now make a network call (still via Turbolinks)
See sample code: https://github.com/DockerOnRails/todomvc-turbolinks
There is also another possibility to clear the cache before using it Turbolink.visit(which causes the user interface to flicker): by calling Turbolinks.clearCache(), this will do the same as disabling the cache, but it gives you the option to save using the cache in other places.