I have already mentioned this. Garisoning should be manual. You should be able to garison maximum 9 units (one group) for city defense, either based on research or buldings in the city (better idea). And other units should be able walk over the city.
One issue this can cause is, that you can actually hide units inside city, and know that noone can attack them unless they attack the city. However, trying to hide give you no benefits, other then not to die for a while. And also, everyone can still attack the city, destroy it and then also all other units.