I'm curious why anyone thinks that firing would not be an appropriate action for someone who was proven to have upgraded a friend instead of a paying passenger.
There are errors due to carelessness or inexperience... go ahead and give an employee a dozen second chances for those (especially inexperience!). But deliberately giving away the company's product to your friend? How is that any different than letting your buddy walk out of a retail store without paying? Surely an employee should be fired for that. Such actions display aspects of one's character that a second chance is unlikely to change---aspects I personally would not want in an employee.