Attacking infantry is very difficult, since they have a good defense factor, and with fortification and terrain improvements beating them is difficult. I usually have a big stack of artillery to beat them down.
I like having a tech edge, which can be had early in the game with iron working (to get swordsman, or immortals for Persia!). Cities are generally less developed so you can attack cities of size less than 7, often without walls.
After that, the age of MA seems pretty good too because it has a big enough attack factor to have an advantage over the other units. In every game where I got MA, I was usually already leading and used them to wipe out civs that hate me before I build the UN. With so much RR around, they move really fast to the target, and they don't tear up the infrastruture of the target city like atrillery and bombers.