A primeira maneira de evitar um tempo limite na inicialização do aplicativo é aumentar o TimeoutValue antes que o index.html seja carregado.
super.setIntegerProperty("loadUrlTimeoutValue", 70000);
super.loadUrl("file:///android_asset/www/index.html");
Mas às vezes não funciona (ou apenas no meu caso). Uma maneira alternativa é criar um novo arquivo html chamado helper.html ou outro.
<!-- helper.html -->
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
window.location='./index.html';
</script>
<body>
</body>
</html>
Depois que o arquivo é carregado, dizemos que nosso novo window.location é nosso index.html normal.
Basta alterar a linha em sua classe MainActivity
super.loadUrl("file:///android_asset/www/index.html");
para
super.loadUrl("file:///android_asset/www/helper.html");
e seu aplicativo não está atingindo o tempo limite no emulador.