How to correctly bake glossy/reflection from camera POV?
Blender uses the normal as the camera ray vector when baking. While it's not possible to change this, it is possible to change the surface normal.

The trick then is to calculate a surface normal that produces the same reflection vector from the camera ray as the original surface normal would have from a custom camera position. You could do this with either a bunch of Cycles nodes, or with a OSL script:

shader osl_reflection_normal(
  vector FakeCamPos = 10,
  int IsCameraRay = 1,
  output normal ReflNormal = N)
{
    if (IsCameraRay)
    {
        // Normal pointing from FakeCamPos to here
        normal fakeCamNormal = normalize(P - FakeCamPos);

        // Reflect fakeCamNormal across the surface
        normal fakeReflection = reflect(fakeCamNormal, N);

        // For some reason I points towards the camera? Otherwise we'd use -I
        normal incidenceNormal = normalize(I);

        // The average of the incidence normal and the fake reflection normal gives us a normal that reflects one to the other.
        ReflNormal = normalize(fakeReflection + incidenceNormal);
    }
}


You'll want to plot in the camera position for FakeCamPos, and supply the "Is Camera Ray" from a Light Path node. The output goes into the Normal input of the glossy shader.