You can set a default action in try_files statement. It's the lst element in the try_files which could be either set to a response code or a URI. Here the /index.html starts looking for a new location to process the request and returns to the start, creating a redirection loop.
You can try making /index.html a file term:
try_files /$geoip_country_code/index.html /index.html =404;
Here the =404 is never tried because /index.html is always there.
Or you can try the generic sol.
try_files /$geoip_country_code$uri $uri /index.html;
Read through this document