This is a very situational question. A good rule of thumb for designing missiles is to first design your detection and fire control systems. By deciding how much space you want to spend on those systems, and then designing them, you will then know what range your detection and tracking systems will have. Then, when designing your missiles, you know what the maximum range of those systems are, so you know what range to give your missiles. After that, you need to decide on the warhead and speed. Obviously, the bigger the warhead the more damage it will do, but speed and manueverability are important as well, as they increase the to-hit probability.
Everything is a trade-off, and you need to decide what kind of missile that you are designing. Is this something that you are going to launch in high numbers to overwhelm your enemy, even if no one missile has a high to-hit percentage, or are you going for high-value missiles each of which is going to do major damage when it hits? If you are going for the swarm approach, then small, cheap missiles are the way to go, but if you want high-value then larger, slower-firing but more accurate missiles are the way to go.
Kurt