Override naming of duplicated object
While you can't change the default behaviour when creating the objects, you can use a simple script to update them to change the characters and run it when required.
Open a Text Editor window (or select the Scripting layout tab), create a New text block and paste the following :
import bpy

for obj in bpy.data.objects:
    obj.name = obj.name.replace(&quot;.&quot;,&quot;_&quot;)

If you now click the 'Run Script' button (a triangular &quot;play&quot; button in the header) the script will run and will run through all the objects in your scene and change any '.' to'_'.
The first line makes the 'bpy' package available ('bpy' is a package to interact with the Blender components via Python).
bpy.data.objects is a collection of objects present in your scene and the 'for' statement cycles through them (naming each as 'obj' in this case).
The final line does the work of setting the object's name to the object's name with all of the dots replaced with underscores.