How about a weighing based on how many people play that sport (weekly, say)? And if one sport has many types of race, just divide up the new medal weight by how many events there are.
So if 50 million people play basketball per week and 1 million people swim, and if there is 1 basketball medal and 10 swimming medals, then a basketball medal would be valued at 50*10 of a swimming medal.
This way, new events & sports could be added easily, without changing things much. This would also reduce the bickering that happens whenever someone proposes adding or removing an event.