ON GERMAN GRAMMATICAL GENDER
The other answerers have already highlighted numerous aspects of how a preference for a particular grammatical gender may come about. However, you actually asked a different question, namely who sets the gender. I believe this has indeed a clear answer:
All speakers set the gender, subconsciously influenced by the principles discussed in other answers. This is not a static process. Sometimes competing candidates remain for quite a long time. For example: der/das Joghurt.
You can watch the process at work too! When das Virus was introduced, many people spoke Latin and preferred the gender from the donor language. As familiarity with Latin becomes extinct, people increasingly see "-us" as a strictly male ending. Accordingly, der Virus has entered newspapers - Associated Ngram. Note, that the Ngram is probably strongly dominated by medical literature, with correct usage. Still, it shows a trend.
I recently had some business at university, so I decided to attend the class in General linguistics. With numerous examples, the teacher discussed a very similar topic. Namely how the plural of imported words was formed. A striking example was Pizza. She reported, that some years ago "Pizzas" had been the dominant plural. Then it steadily declined in favour of "Pizzen". She could support this with questionnaires from students of each year. She also asked us, before starting the lecture.
A weak argument for the absence of any reliable rules is the comparison between Austria and Germany. It could also point to Austrian bias towards neuter for new words. The following differences appear in writing:
G: die Email / A: das Email
Der Service / das Service
Der Keks / das Keks
Die Cola / Das Cola
These have struck me, but there are many more, even compared to this list on Wikipedia. Note, however, that such differences remain by no means exclusive to foreign words. Note the following:
Die Erkenntnis / das Erkenntnis (but, I think only in a specific legal context)
I would therefore assume the gender of German words was fixed in much the same way hundreds of years ago.
Some languages, such as modern Greek (as I learned in school) , show a mild preference for assigning neutral gender to foreign words. This is not the case for (BRD-) German. It might be for the Austrian variant, but I don't have sufficient data.
REGARDING OTHER EUROPEAN LANGUAGES
You also asked how much the genders were correlated across different European languages. You should first notice European languages have very different paradigms of grammatical genders. Greek and German have masculine, feminine and neuter . Italian and French have masculine and feminine (let's not get nitpicking...), Dutch, Danish, Swedish and Norwegian have common and neuter. See here for more details.Wikipedia on list of languages by grammatical gender paradigm.
That being said, I can't say whether the correlation is zero, but it is certainly not reliable when wanting to guess genders. It may also heavily depend on the language pairs chosen. I compare (German, Greek, french, Italian) genders for a given meaning and for the last two, which I don't speak, I use Leodict. Note, that these results are sloppy illustrations at best, since there are different words for each meaning in each language and we would need a huge sample.
room (n,n,f,f)
Apple (m,n,f,f)
Heart (n,f,m,m)
Shit (f,n,f,f)
well (m,n,f,f)
Cookie (m,n,m,m)
Hair dryer (m,n,m,m)
dog (m,m,m,m)
broom (m,f,m,f)
cabbage(m,n,m,m)
This sloppy example suggest, there might be striking similarities between Italian and French, but less among other pairs. In fact, Wikipedia makes such a claim, without citing evidence:
In fact, nouns in Spanish and Portuguese (as in the other Romance languages such as Italian and French) generally follow the gender of the Latin words from which they are derived. When nouns deviate from the rules for gender, there is usually an etymological explanation: problema ("problem") is masculine in Spanish because it was derived from a Greek noun of the neuter gender, whereas radio ("radio station") is feminine, because it is a shortening of estación de radio Wikipedia claim without evidence