Sure.
The primary thing to keep in mind is WHAT do you want that city to be? City specialization is important. A civ with one great person factory, one production city, and one commerce city will beat one that has three cities that try and do all of it.
The problem is the AI does not know what you want to do with your cities.
Look at the city and determine WHAT you want it to be. For example, one of my cities was smack in the middle of a bunch of flood plain, with a couple hills on the outer edges. It is my great person factory. I put farms along the flood plains, and mines on the hills (for building buildings and wonders).
One of my cities is smack in the middle of a bunch of hills, plus some grassland. It's my production center. I put cottages on the grassland, since there was nothing else and I needed the grassland for food. Later on, when I get Civil Service, I will replace the cottages with farms.
One of my cities has a lot of open space nearby. So I figured I'd make it a commerce city. It's basically cottage spam, with maybe a mine or two if there are some hills nearby for production.
Keep in mind three things.
1) What you need. I chose the flood plain city for my Great Person factory because it had the most food. Since I don't really need two of them, any subsequent flood plain cities would probably be cottage spam cities.
2) Don't be afraid to replace improvements later on if your technology allows it.
For example, if you're lacking in the way of production because you have few hills nearby, consider turning a grassland city into a production factory with a good bit of workshop spam (especially with State Property!)
Civil Service helps a lot because it lets you put farms where you need them, instead of just near rivers/lakes.
3) Get some food resources. A lot of resources (especially those considered less valuable) give you +1 food. Getting a few of these would be very helpful.
Most of all, just practice.