Traditionally, it was the king of Italy (king of the Lombards) the one to get the imperial crown, because of his proximity to the Pope. For this reason it was customary, starting with Charlemagne in 744 up to Charles V in 1530 to get the Iron Crown in Pavia or Milan first, and then the Imperial one in Rome.
The reason why most of the emperors were actually German is due to geopolitical factors. It all started with Otto I and then a lot of people turned out to be quite hapoy with the solution, so that after a time it became an institution to have a German king as king of Italy and Emperor. Having Italian kings was out of the question because of opposition from the Popes and various local powers who enjoyed having a ruler who lived faraway: there were attempts by local nobility to claim until the 11th century, but external and internal opposition proved stronger.
The French kings could have staked a claim to the Italian and Imperial crowns, but they stopped doing so in the 10th century and focused on their own realm.
Note that Germany still remained a kingdom within the Empire. It was only in the 12th century that people started to consider the German king Emperor by default (this was a big controversy, though), so that gradually the German kingdom idea was abandoned and whoever the Germans elected as their ruler would be considered the legitimate elected Emperor. It was only in the 16th century, though, that Maximilian I broke the taboo and called himself emperor all his life without even visiting Rome to be crowned.