rename all children objects with prefix from parent
import bpy

current_object = bpy.data.objects
i = 0
for ob in bpy.context.scene.objects:
    # check if parent exist
    existing_parent = current_object[ob.name].parent
    if existing_parent:
        # check if it has been already renamed from parent
        if not current_object[ob.name].parent.name == current_object[ob.name].name.split('.')[0]:
        # change the name of the object to the name of parent
            current_object[ob.name].name = existing_parent.name + '_' + str(i).zfill(2)
            print(ob.name, existing_parent.name)
            i += 1
        else:
            print('nothing to do')


this script renames the objects in the scene according to their parent. if they share already the same name (meaning probably it has been already renamed) it does nothing. far from by polished though as for know it adds a numerical sequence to all the scene not per object.