The question of how much to overlap is a complicated one. In my games, I count how many tiles I will want the city to use before the advent of sanitation and railroads (which closely correspond, anyway) and then plan city placement.
Typically, you will want no more than enough food to supply 12 population, and enough production and commerce to make those 12 pops happy. This is a dynamic calculation, of course. You can and should change irrigation to mining and vice versa to suit your purposes. For example, balancing food and production is the key to making settler factories. The food should make 2 pops in exactly the same amount of time for the shields to make one settler.
To a greater or lesser extent, this can be held true for other purposes. For example, if you are planning to pop-rush like mad, irrigating the heck out of your grasslands and plains is a viable strategy. You won't need the mines since your production will only minimally depend on shield production anyway - so max out that food! (Or at least try to match the shield sched to what you're planning on pop rushing.)
As far as placement goes, you can be forced on a great deal of non-overlap when you're dealing with hard to develop areas or poor food areas - frequently both. For example, a thickish range of mountains is almost always occupied only by one city. Conversely, an area with a great deal of grasslands means lots of food - and that means a great capacity for overlap. You can overlap as much as 8 or more tiles for every city and still get to 12 population.
By Corollary, overlapping food tiles is a tricky business. You will almost always want to have each 12 pop to have independent food supply, but you will sometimes want to have things such as Flood Plains and Wheat Resources available to 2 different cities as that you can focus the concentrated food power on whichever city needs it the most. On the whole though, overlapping food means counting the food and making it right.
On the other hand, you can more gratuitously overlap on production rich tiles like hills. Hills are hard to develop and generally adversely affect population growth, so you tend not to place workers on them early anyway - overlapping hills is a non-issue early on the game where in matters. More importantly, overlapping hills allows you to direct shield production to the city that requires it, even pinching every last shield out of your production so that no shield gets wasted, ever. Also, overlapping hills means that you can direct production to the area that needs it for either units or infrastructure, without needing to devote worker time more than you otherwise would. Overlapping production tiles means production control - and that's a very powerful thing.
There are also the usual considerations, of course - corruption being the leading reason to overlap cities - and such things as special resource and strategic resource placement, water, defense, and all that jazz.