There needs to be some variation between the quanity and type of asteroid from planet to planet. Frankly, it's rather boring when every single ice planet is exactly the same with the exact same 3 crystal 'roids.
Here are some suggestions for randomizing the asteroids somewhat:
For ice/volcanic:
First determine the number of asteroids, 2-4, 33% chance of each
Generate at least 2 asteroids of the matching type
If the planet should have at least 3 asteroids, generate an additional metal or a crystal asteroid at random.
If the planet should have 4 asteroids, generate a matching asteroid if it already has a non-matching asteroid, or a metal or crystal asteroid at random otherwise.
(net result, on average, a planet will have 2 7/12th asteroids of matching type, and 5/12th of an asteroid of the other type)
Colonizeable asteroids:
25% chance of 1 asteroid, 50% chance of 2, 25% chance of 3
If one asteroid, pick ice or crystal at random
If 2 asteroids, generate one of each
If 3 asteroids, generate one of each and one at random
Terran/desert planets:
1-3 asteroids, 33% chance of each. Otherwise, same pattern as colonizeable asteroid.
This would keep the same distribution of asteroids on average, as well as maintaining the tendency of ice/volcanic planets of having specific types of asteroids, but it would add a nice layer of strategy: do I first go for the ice planet with 4 crystals, or the one with 2 crystals and 1 metal, etc.