Well there are multiple things that will cause the problem you are having. The top 3 things the computer looks at for fuel control are: Coolant Temp Sensor, Oxygen Sensor, and the Mass Air Flow Sensor. If your O2 Sensor is O.E. replace it. It should make a big difference. If you had it to 3 shops, I would like to think that they already confirmed the Coolant Temp, and Mass Air are working as they should. But, you still might consider finding a really good diagnostic shop, who know how to read the data they are looking at.
Good Luck