Resetting Transforms of an Object Changes Pivot of Object
You are asking for an impossible thing. Applying location keeps the geometry in the same location but zeros out the transforms.

What you are calling the pivot is the object origin. The origin is what all the transforms are biased off of. Take these images as an illustration.

The cube is at the global origin or scene origin (0,0,0).


Here the cube is moved, simple object mode transform (-4,0,2).


Here the cube's location is still the same as in the image above, but the cube is in a completely different pace. The reason being the geometry was moved in edit mode.


This is essentially what applying the location does. Blender clears the location (moves the origin to 0,0,0) and moves the geometry back to where the object was.



All that is  explaining what is happening to an object when you apply its location.
Modifiers, constraints, parenting, and rigging will effect an objects location and moving the object's origin will likely mess at least one of those up.