in total there are 22 ice; not too bad. 20 minus articuno and regice.
33 fire types; 29 minus the legendaries.
18 ghost types; 17 minus giratina. ghost is the one i think that suffers the most out of all the types.
there is also dark; 23 of them. 22 minus darkrai.
all of these types need more, there is just not as good of a picking as there should be.
i think they should make for the next gen, if they do, like; a certain number of pokemon lines for each type. like 6 lines for each type for example. what i mean is there would be 6 water type evolutionary lines, 6 grass, 6 psychic, 6 ground, etc, etc. and it could either be like 2 stage evoluton, 1 stage, split, or no evolution. that way you could make a stable team and mix and match without one type having more sets under its belt compared to the others. and the pokemon are not tied down to solely one type they could of course be of double typing.