Handler existence checking
You can use a list comprehension to check if your function already exists:

def myFunc():
    """Your function"""

if not myFunc.__name__ in [hand.__name__ for hand in bpy.app.handlers.save_pre]:
    bpy.app.handlers.save_pre.append(myFunc)


It'll get the function's name from the pointer for each function in your handler list. Then, you can compare it to your function's name.

[hand.__name__ for hand in bpy.app.handlers.save_pre]


It's equivalent to:

handlerList = []
for handler in bpy.app.handlers.save_pre:
    handlerList.append(handler.__name__)