The make proxy operator works only on the active object (it has to be visible). You set the active object like this:
import bpy objects = bpy.context.scene.objects objects.active = objects["Name"]
If you don't know the name you can list all objects in the scene with dupli group:
ob_list = [ob for ob in objects if ob.dupli_group]
You can specify what object inside the group to make the proxy of like this:
bpy.ops.object.proxy_make(object="Name_Of_Object_Inside_Linked_Group")
If you don't know the name, you can list all the armatures inside the active object's dupli group:
armatures = [ob for ob in objects.active.dupli_group.objects if ob.type == 'ARMATURE']
The proxy object then becomes the active object. You can rename the proxy easily (otherwise it will carry the name of the linked group object):
objects.active.name = "Name_Of_Object_Inside_Linked_Group_PROXY"
To complete this you also get the linked group object from a proxy object like this (if you need to know what the proxy is influencing and if the object is a proxy at all):
group_ob = proxy_ob.proxy_group