A flying ad hoc network (FANET) is formed from a swarm of drones also known as unmanned aerial vehicles (UAVs) and is currently a popular research subject because of its ability to carry out complicated missions. However, the specific features of UAVs such as mobility, restricted energy, and dynamic topology have led to vital challenges for making reliable communications between drones, especially when designing routing methods. In this paper, a novel optimized link-state routing scheme with a greedy and perimeter forwarding capability called OLSR+GPSR is proposed in flying ad hoc networks. In OLSR+GPSR, optimized link-state routing (OLSR) and greedy perimeter stateless routing (GPSR) are merged together. The proposed method employs a fuzzy system to regulate the broadcast period of hello messages based on two inputs, namely the velocity of UAVs and position prediction error so that high-speed UAVs have a shorter hello broadcast period than low-speed UAVs. In OLSR+GPSR, unlike OLSR, MPR nodes are determined based on several metrics, especially neighbor degree, node stability (based on velocity, direction, and distance), the occupied buffer capacity, and residual energy. In the last step, the proposed method deletes two phases in OLSR, i.e., the TC message dissemination and the calculation of all routing paths to reduce routing overhead. Finally, OLSR+GPSR is run on an NS3 simulator, and its performance is evaluated in terms of delay, packet delivery ratio, throughput, and overhead in comparison with Gangopadhyay et al., P-OLSR, and OLSR-ETX. This evaluation shows the superiority of OLSR+GPSR.