Storing data for every country for an interactive chart
I did something similar sometime ago.
My svg had a path per country with each path being identified by a unique id (namely the country name camelcased). These were stored directly in the template.
I created a taxonomy with all the country ids, and a content type for the user-contributed country data, with a reference to the country-ids taxonomy.
After that I used EntityFieldQuery to get the list of country-ids with published data, so as to display them highlighted in the map.
Then on click of a country I'd retreive the country data via an AJAX request and display it besides the map using jquery.  

Beyond my original implementation you could probably load all data via EntityFieldQuery and then just handle it via javascript without further requests.

Does that make sense to you ?