For a start, Ice being weak to steel does not make much sense. While nerfing steel offensively is not the best of moves, it would be needed for ice. Steel could always get another SE type.
With that, Ice has three weaknesses, Fire, Fighting and Rock. While they are all good attacking types, you can't always get everything. So this will have to do for now.
But Ice only resisting itself is... possibly the dumbest thing balance-wise in pokemon. Seriously. So, what should Ice resist? Taking a look at it's SE, we see Grass, Ground, Flying and Dragon.
Grass is already weak, though while not as much as Ice, it wouldn't make much sense to resist a type that isn't spectacular offensively. Ground, on the other hand, could make sense. As for Dragon, if they still need a nerf, I'd say Ice could be a way to do that. Actually putting the type into worthwhile territory would make it more common and therefore provide some form of nerf. Maybe not enough, but that's not for me to judge.
Now Ice has 3 weaknesses and 3 resistances (Ground, Dragon and itself, Ice).
Let's take a look at the rest. The mental-ish types, Dark, Psychic and Ghost don't make much sense in interaction with Ice, so we'll leave those at neutral in both offensive and deffensive regards.
Most of the other types don't warrant much of a mention. Perhaps resisting normal types would be an idea, as with Steel, Ice could be the second defensive type. But Normal does not need a nerf, so we'll pass on that for now.
With all that said about types, that's not where it's all about. A similarity with Grass is that most Ice mons are also lacking in terms of moveset. Though Ice type is better offensively, this is still a problem for certain mons. Adjusting this on the ones that are concerned by a lacking movepool would be a reasonable buff.
Lastly, and I do believe the one thing that should be pretty high on a to-do list, is to give Ice types a bonus during Hail. Perhaps the same as Rock during Sandstorms.