Maybe everybody else knew this already, but HG says that "first citizen in every city is happy", but this is not true. At first I thought it was actually first citizen is always content, but then I built even more cities early and eventually you start to get unhappies and pirates even with HG...!
The (counter-intuitive) solution: strip your city garrisons down to 1 unit/city. Then you should be able to have an infinite number of size two cities without happiness problems.