Re-Import obj and replace existing
You could import your externally created models into separate .blend files and link them into a master .blend file containing the scene instead of directly importing them. This way the linked files can be refreshed.

The basic idea:



I uploaded a working sample here

WARNING: The script should not be started from your scene file it first deletes all content. You would need to invoke it from command line see: 
Put the following command in a batch file conv.bat 

"C:\Program Files\Blender Foundation\Blender\blender.exe"  --background --python batch_convert.py
pause


Save the python script in batch_convert.py

import os
import bpy

# put the location to the folder where the objs are located here in this fashion
path_to_obj_dir = os.path.join('C:\\', 'OBJ')

# get list of all files in directory
file_list = os.listdir(path_to_obj_dir)

# get a list of files ending in 'obj'
obj_list = [item for item in file_list if item[-3:] == 'obj']

# loop through the strings in obj_list 
for item in obj_list:
    # select all object
    bpy.ops.object.select_all(action='SELECT')
    # delete selected
    bpy.ops.object.delete(use_global=True)
    # import obj
    path_to_import = os.path.join(path_to_obj_dir, item)
    bpy.ops.import_scene.obj(filepath = path_to_import)
    # rename
    for obj in bpy.context.selected_objects:
        obj.name = item[:-4]
        print(dir(obj))


    # write blend
    path_to_export = os.path.join(path_to_obj_dir, item[:-4] + ".blend")
    print(path_to_export)
    bpy.ops.wm.save_as_mainfile(filepath=path_to_export, check_existing=False )


After exporting an .obj you would only run the batch file and the linked .blend files will be updated.

Related:


How do I reload a linked blender file?
Video Tutorial on appending and linking
Wiki Linked_Libraries