I believe this would be a wonderful idea, as it would also ensure a lot more homes were given dogs already residing in rescue centres, as well as cutting down on the amount of unwanted dogs. Apart from anything else too many people are irresponsible when they breed their dogs, never checking to make sure no inbreeding is taking place, not getting hip scoring on dogs prone to Hip Displacia (e.g. German Shepherds), and rarely looking to see if there are other physical problems that may be reproduced by breeding those animals. Even if all in that department is well, frequently no proper effort is made to make sure the puppies go to the best possible homes, and no follow up visits take place several months later.
Finally what many owners don't realise is that having your dogs (male or female) neutered can prevent health problems in later life such as breast Cancer or infected wombs (pyometras). There is absolutely no truth in the suggestion that all bitches should be 'allowed to have one litter' before spaying either (I am a former Vets assistant so this isn't just an empty statement).
Castrating male dogs reduces aggression and problems with them impregnating other people's bitches also, as well as having long term health benefits to the dog.