According to ICAO, three main factors can influence flight safety: technical factor, human factor, environment. According to statistics human factor causes 70% of all accidents and incidents. The pilot can avoid weather factor if he has weather information. However sometimes weather is difficult to forecast. Pilots should avoid dangerous weather. Moreover, weather forecasting should be improved. By the way, weather operations are automated nowadays and there are some systems like windshear alert system.
As for human factor, people can make mistakes due to bad professional training, inattentiveness, lack of experience and rest, misunderstanding between pilots and ATC, loss of situational awareness. Airline should organize recurrent training for crew members.
Also different failures and malfunctions can happen during the flight. Low quality level of maintenance and spare parts can be a reason of technical problem. Besides, fatigue of an aircraft is one of the reasons, because many companies operate old aircraft. The decision is to improve maintenance and upgrade the fleet.
Авиационный английский по скайп