Normalizing edge weights and the effect on Dijkstra's algorithm
Your idea does not work. Adding an absolute value to every edge wont preserve shortest paths. To see this take this graph:

u------v
|      |
|      |
a------b


with all edge weights 1 except for $uv$ where the weight is 4. The shortest $uv$ path goes via $u \to a \to \to b \to v$. But if you add a +2 to every edge, the sortest $uv$ path is $u\to v$.

There is however a reweighting scheme that works. Check out Johnson's algorithm, which is built around this. Simply speaking: add a dummy vertex $x$ connected to all other vertices with a zero weight edge and add to every weight of an edge $(i,j)$ the value $d(x,i) - d(x,j)$.