Transfer of fees from one event to another
CiviEvent have a setting called Allow Self-service cancellation or transfer option for event which I think might be helpful in this case. To find this, check the Online Registration tab on Event Configuration.

URL - civicrm/event/manage/registration?reset=1&amp;action=update&amp;id=&lt;event_id&gt;



With this option enabled a participant gets a unique link in the registration confirmation mail where he/she can transfer the participant to some other contact.

It is included in 4.7 version. Check this for more info.