Seems kind of overstock for a 10g. Corys in the mid to bottom level and rainbows mid to top level...where are the shrimps going to go? They're going to be swimming everywhere from all that activity in the tank. I think you should just stick to one group of fish and the shrimps. Also wondering why you want to risk getting a top level fish when you want the shrimps to breed, right?
Pygmy cories stay on the bottom and are so tiny they don't affect the bioload much. I don't see anything wrong with their stocking plan.