All of your mentioned pokemon are good, you can't go wrong with any of those. You need to take into consideration that there are different types of pokemon (walls, special attackers, physical attackers...) and work your team around that. Also to have pokemons that cover eachother's weaknesses (eg. Milotic and ferro).
Also, the more pokemon you have the more you can change and work on your team until you find the right one for you.
So the question is not what pokemon to breed, it is how many pokemon to breed.