Are there any general rules for choosing solvents for recrystallization?
Generally speaking, the best solvent will be dependent on the impurity that you are trying to remove.  

The solvent must dissolve both the desired compound and the impurity at a high temperature, but only the desired compound at lower temperatures.  The solubility product of the impurity, as well as the common ion effect should both be taken into consideration.