Got a couple of ideas:
Once you have given the place back, you cannot retake that place until 2 corners have been completed.This is to avoid the 'I'm giving up the place, thanks for it back', situation as Hamilton was famously penalised for in Spa 2008 vs Raikkonen.
If you don't like the above suggestion, then how about the driver has to give back the place on the following lap at the same place on the track that the original offence was deemed to have occurred. Then we avoid the 'I'm giving back the place but then I'll do it at a place on the track of my choosing so as to maximise my chance of getting the place back again' situation we've seen many times before. Both drivers should be given clear instructions that this is going to happen and we have a whole lap for the communication to occur so they are both prepared.Two hours after the race, the FIA stewards for the race issued a statement announcing that Hamilton was guilty of contravening Article 30.3 (a) of the 2008 FIA Formula One Sporting Regulations and Appendix L, Chapter 4, Article 2 (g) of the International Sporting Code, which both state that cutting a chicane and gaining an advantage is subject to a drive-through penalty. As the race had finished, a 25-second penalty was added to Hamilton's time instead. As a result of this penalty, Massa was promoted to winner of the Grand Prix, and Hamilton was dropped down to third position
Is it futile to ask that we don't discuss yesterday's race here? I just want to know if it is even required to formalise something so seemingly simple as 'giving up a place'. The above suggestions will also no doubt be exploited so really I'd like to see more sportsmanship and less gamesmanship but that is probably wishful thinking.