It depends on your goal.
If your goal is to express the particular feel of this specific weapon and its optics, then arguably its FoV should not scale at all. If you've determined that this sniper rifle has 60 degrees of visibility when aimed down sights, then 60 degrees is the value everyone uses.
Or you could set a different goal - like trying to ensure the portion of the scene image visible through the scope is a fixed ratio of the unzoomed scene. For this approach, you can do something like this:
// These parameters represent your default normal FoV and its corresponding zoomed FoV,
// in radians, measured from the bottom of the view to the top.
float referenceFullFoV = 90.0f * Mathf.Deg2Rad;
float referenceZoomedFoV = 60.0f * Mathf.Deg2Rad;
// This derived value describes what fraction of the default scene should fit in the zoomed image.
float zoomedHeightRatio = Mathf.Tan(0.5f * referenceZoomedFoV)
/ Mathf.Tan(0.5f * referenceFullFoV);
// This describes the half-height of the projection of the full scene
// at the current FoV (in radians) onto an image plane 1 unit away from the camera.
float unzoomedHalfHeight = Mathf.Tan(0.5f * currentFullFoV);
// Now we scale this by our ratio and undo the tangent operation
// to calculate the FoV to use for the scoped version (in radians).
float zoomedFoV = 2.0f * Mathf.Atan(zoomedHeightRatio * unzoomedHalfHeight);