Not only with Fairy; Steel and Dark were also added for balance reasons, mainly to nerf Gen 1's Psychic.
Improving the Ice type offensively would just improve the already strong enough Ice type moves that a lot of players just end up teaching to other (usually Water) types. To help making Ice Pokémon better, you probably need to tweak the type chart a little, otherwise Ice type Pokémon have nothing unique to offer besides... being good in Hail?, unless they have a good dual typing that complements them and your team well.
Most of the type chart match-ups are logical, but there have allways been exceptions. Like why isn't Rock immune to Poison when poisoning a rock is just as unlikely as poisoning a piece of metal, or why are Fairies immune to Dragon attacks, or Normal immune to Ghost, or what's the logic behind anything that resist Fighting not resisting Normal? If you can resist a hit from a wrestler or a karate champion, you should resist a hit from an average guy even easier. Etc.
Several type chart match-ups are just for gameplay sake. They removed two resistances from Steel (which they had to believe were logical to put then in the first place) to favor game balance. Making Bugs also weak to Ice would make sense in real life terms, but adding another weakness to one of the less favored types wouldn't help much. Also, Grass and Bug already share two weaknesses (the maximum number of X4 weaknesses any Pokémon can have), with Ice that would be three.
I don't see too much problem with bug grass having a 3rd dual weakness, they're not too commonly used or liked anyway.
edit:
[just checked and there are only 2 species of bug/grass pokemon. so that's not really a problem.]
and it would be a huge step to putting it around the same level of the main trinity (grass, water, & fire) offensive type changes are necessary for increasing the utility of the type.
ice types are apparently usually high in defensive stats, the only problem is most people aren't able to notice this
because their type weaknesses are usually very high in attack/spattack and every ice pokemon isn't given a good amount of hp.
Like it was brought up above, using glaceon as an example, it has 110 defense and 95 sp defense.
Which sounds great, but its health is just 65, so it balances out to only being average.
Combined with Ice types also being horribly slow on average, and you have a recipe for
an entire type being one-shot fodder before they can even get an attack off. dang that's worse than I thought.
(well its not too bad, the real problem with glaceon is really that its moves suck, most of them are physical, when it has no good attack
the only good special moves it can learn are ice beam and blizzard)
But the other type stuff does make sense.
ghost, spirits without physical form, while normal types are just that normal.
So ghost types aren't able to physically interact with them.
think of it like rpg mechanics, normal are physical attacks everything else is magic, and only magic can damage spritis.
for rock/ground and poison.
I think the logic there is that rock and ground are still organic matter, ( or just sometimes in the case of rocks) which I think explains why its not effective instead of fully immune.
also earth
can be "poisoned" if enough bad materials seep into it.
While steel is synthetic and so fully immune.
and a professional fighter is very different from an average person,
but if you want to take it further instead of thinking of both as physical hits, think of it like Ki.
A being empowered by awakening to using their physical energy.
which I guess can make them more sensitive to spirits. Which explains why fighting types aren't immune to ghost.
But The fairy /dragon relation, I never got that either, and I changed that first chance I got for my own stuff.
In some lore, fairies are the natural enemy of dragons, like in king arthur , weapons forged by the fae are known to be dragon killers.
and I think there's something about having the protection of the faries working against evil forces or something?
but that was never a dragon specific thing. (maybe in the story the enchanctment was to protect against the dragon? idk, either way full immunity is too much)
but in other places there's myths of dragon faries or fairy dragons
So I'm really not sure how they came up with full immunity, I think they just went overboard with that.
I agree they need more than just a type effect change, each type usually has a theme, I guess ice types could get some stat buffs so they can work as class of varied tanks?