Using http://fahrplan.sbb.ch I suggest the following:
2013.06.10 - evening before, take a train from Bons-en-Chablais to central Geneva and stay in hotel there. Early next morning take train or bus to airport. First connections get you to the airport around 5am which is  plenty of time for a 0640 flight. Or get your pal to drive you there that evening.
Pasting a bit scrappy but you should see the idea
4
Show details for connection 4
Local area map: Bons-en-Chablais
Bons-en-Chablais     Tu, 19.03.13     dep     19:01           1:23     4     RE, TRAM, BUS, IC    
1. 2.     
Fare/Buy
Local area map: Genève-Aéroport
Genève-Aéroport           arr     20:24
Connection 55
Show details for connection 5
Local area map: Bons-en-Chablais
Bons-en-Chablais     Tu, 19.03.13     dep     19:01           1:26     3     RE, TRAM, BUS    
(cant lookup French trains  for June yet on swiss web...)
4
Show details for connection 4
Local area map: Genève
Genève     Tu, 19.03.13     dep     04:43           0:13     0     RE    
1. 2.     
Fare/Buy
Local area map: Genève-Aéroport
Genève-Aéroport           arr     04:50
Connection 55
Show details for connection 5
Local area map: Genève, 22-Cantons
Genève, 22-Cantons     Tu, 19.03.13     dep     04:45           0:27     0     TRO        
Fare/Buy
Local area map: Genève, Aéroport (TPG)
Genève, Aéroport (TPG)           arr     05:.....