The long answer is that you might be able to use the fid returned by arcpy.da.InsertCursor.insertRow() to build a dictionary (lookup[fid] = old_globalid), then use the created fid in a DA UpdateCursor pass to update the uuid value:
updated = 0
with arcpy.da.UpdateCursor(fc,['objectid','globalid']) as cursor:
for row in cursor:
if row[0] in lookup:
cursor.updateRow([row[0],lookup[row[0]])
updated += 1
print("{:d} globalid values updated".format(updated))
This could only work because cursors ignore GlobalID values. I haven't tested this, but it's worth a shot.
- V
PS: Oh, and there exists a chance (however slight) that one of the new UUIDs could conflict with a replacement GlobalID value, though it's so slight that you probably don't need to check first (but if it does occur, then the global dictionary in memory will be lost by the error).