SEO Issue
Do you see any danger from SEO perspective?
Yes. Google may not crawl from different locations for every site. Google mostly crawls from the US. Hence, Google may not see other versions.
Different Approach
Would you recommend a different approach to this problem?
Yes. I will recommend explicitly telling Google about the geo variations. As you are using a generic TLD, you can use hreflang attribute.
On both the verions of your homepage, hreflang tags will look like this:
<link rel="alternate" href="http://example.com/?country=US" hreflang="en-us" /><link rel="alternate" href="http://example.com/" hreflang="x-default" />
The same approach can be used for other pages. For example, if your site has a page http://example.com/pageX
, then your tags will look like:
<link rel="alternate" href="http://example.com/pageX/?country=US" hreflang="en-us" /><link rel="alternate" href="http://example.com/pageX/" hreflang="x-default" />
In addition to hreflang tags, it is not a bad idea to have appropriate canonical tags.
For example, in the US version of the home page, your canonical tag will look like this:
<link rel="canonical" href="http://example.com/?country=US" />
Drawback
There is one drawback with this approach though. Google will show the default version to non English speakers in the US.
Additional Suggestions
On every page, you can place a dropdown allowing users to switch countries. By this, you can be sure that a user can switch page if Google displayed the wrong version (happens sometimes).