The Problem with your Problem
I do not think your solution can work in the way you are trying to do it. I demonstrate why first, then I propose an alternative solution below.
Consider this code:
import networkx as nx
import matplotlib.pyplot as plt
import random
# Set up a graph with random edges and weights
G = nx.barabasi_albert_graph(6, 2, seed= 3214562)
for u,v in G.edges_iter():
G[u][v]['weight'] = int(random.random() * 10)
pos = nx.spring_layout(G)
nx.draw(G, pos)
nx.draw_networkx_edge_labels(G,pos)
plt.show()
It produces this figure:

Consider node 1. It has two edges whose weights are 2 and 9 respectively. We should adjust the weights to 2/11 and 9/11 respectively.
Next consider node 4. It now has two edges with weights 2/11 and 8 respectively. The first weight is fixed from the previous calculation so we basically adjust the second weight to be 8/(8+2/11).
We now have three edges whose weights are adjusted and fixed. We now repeat this for nodes 0, 3, and 5. By the end of the process, all the edges around node 2 have been readjusted and fixed, but they will not sum up to 1, unless by a remarkable coincidence. In a larger graph, of course, this problem would arise much faster.
The Solution
Instead of re-weighting the edges themselves, I propose that you attach to each node a new data attribute containing a dictionary of re-weighted edges. This is the relevant code for demonstration:
for n in G.nodes_iter():
total = sum([ attr['weight']
for u,v,attr in G.edges(n, data=True) ])
total = float(total)
weights = dict([(nb, G[n][nb]['weight']/total)
for nb in G.neighbors(n)])
G[n]['adj_weights'] = weights
# Print out the adjusted weights
for n in G.nodes_iter():
for nb,w in G[n]['adj_weights'].iteritems():
w = int(w*1000)/1000.
print '{} to {}: {}'.format(n, nb, w)
This produces:
0 to 2: 0.272
0 to 3: 0.727
1 to 2: 0.818
1 to 4: 0.181
2 to 0: 0.081
2 to 1: 0.243
2 to 3: 0.243
2 to 4: 0.216
2 to 5: 0.216
3 to 0: 0.363
3 to 2: 0.409
3 to 5: 0.227
4 to 1: 0.2
4 to 2: 0.8
5 to 2: 0.615
5 to 3: 0.384
Thus the edges to node 0 sum up to one, as do the edges attached to node 3, for example. But edge (0,3) has a weight of 0.727 when seen from node 0, and 0.363 when seen from node 3.
I hope this gets you going.