Like others, to get around this problem I use HDRI maps to give fake reflections. The problem with this is that you then have the HDRI image in the background which can take focus away from the original image, to get around this you can make a plane in the background which blocks out the HDRI image, but it often has to be quite large to fill the whole camera background.
A workaround which I use is to use the Blender's compositor to composite in a different background from a different scene in the blend file. Of course this could be done afterwards if you just rendered a PNG with transparent background, but if your not intending to do any post on it anyway you might as well do this in Blender. For example, I normally use a simple blended background found in the 'World Settings' giving a gradient effect, which I would rather use than the HDRI background but still have the benefits of the reflections the HDRI provides.
- Set up your HDRI background as normal
- In the render settings choose 'Premultiplied' rather than 'Sky' for the 'Alpha' option in the 'Shading Panel' OR tick 'Convert Premul' in the 'Alpha Over' node.
- Create a new scene with the with a background chosen in the world settings (you will also have to create a camera for it to render) or optionally choose an image of your choice which you would like to be the background. (all that would be different is that in the image below you would simply Input> Image rather than Input> Render layer as show below).
- Set up the nodes in the 'Node Editor' to composite the 2 layers together, shown below. (make sure to choose your other scene in the Render Layer node).
Hope I explained this well enough, let me know if you have trouble.