Quoted By:
dragon was the "congrats on fishing in the safari zone for no fucking reason" type, so it was supposed to give you a 'mon that resisted all the starter types (water/fire/grass and electric bc idk pikachu or something), and could only be defeated by itself.
it was the last type added and was introduced pretty late, as evidenced by the fact that a) it's the last in the type index and b) all its interactions are shoved at the end of the interactions index, while everything else is more or less sorted in neatly.
so it's not a stretch to imagine that its weakness to ice is literally just completely arbitrary. they probably figured dragonite would be So Dominating that it needed to be able to be defeated by something that wasn't another dragonite. ice was also kind of late to the game (second-to-last index, whereas Bird's ninth or something), though not as much as Dragon, and it's got kind of weird distribution and was shaping up to be a good uncommon-but-effective attacking type, as well as...not being as aggressively weird flavor-wise as some other options (bug? fighting?). so it was just another coverage item for ice, and dragons could have an odd weakness that could cripple them so they wouldn't be too out of control.
of course, this is the game where they forgot to actually give dragon any fucking attacks and then gave ice beam and blizzard to every fucking thing so it also could have been a code monkey fucking with people because at the time it was just the one evolutionary family and it didn't really matter.
fairy vs dragon is just gamefreak trying to nerf dragons. didn't they say that explicitly? i think i remember some dev conceding that point.