Why are cations ordinarily smaller than anions?
It isn't true that any cation will be smaller than any anion.

You intuition that atoms with larger electron counts from lower rows of the periodic table will be bigger is correct. Size for atoms is determined by the highest occupied electron shell or orbital as the interactions with other things that define size are, crudely, caused by interactions between the electrons in their outer orbitals. 

So a Rb+ cation radius is about 166pM but an F- anion is smaller at about only 119pm. There is a good table of such values in the Wikipedia article on ionic radii which also explains some of the trends and some of the difficulties in actually defining size for ions.