UV Map Scaling Issue
Manual precise UV scaling:
In UV editor place your 2d cursor in the desired center of scaling, you can place it precisely from Properties tab N. In the header swith to 2d cursor pivot:

Select UV vertices and enter transform mode with S, in the header area type the exact number or an expression. You can constrain axes by X or Y.
Precise UV scaling of multiple selected objects:
import bpy
import bmesh
from mathutils import Vector

# center of scaling - edit this
pivot = Vector((0.0, 0.0))
# amount of scaling in each axis - edit this
amount = Vector((2.0, 2.0))

for object in bpy.context.selected_objects:
    mesh = object.data
    bm = bmesh.new()
    bm.from_mesh(mesh)
    uv_layer = bm.loops.layers.uv.active

    for face in bm.faces:
        for vert in face.loops:
            vert[uv_layer].uv -= pivot
            vert[uv_layer].uv.x *= amount.x
            vert[uv_layer].uv.y *= amount.y
            vert[uv_layer].uv += pivot

    bm.to_mesh(mesh)