This paper introduces a distributed and energy-aware algorithm, called Minimum Drone Placement (MDP) algorithm, to determine the minimum number of base stations mounted on resource-rich Unmanned Aerial Vehicles (UAV-BS), commonly referred to as drone-BS, and their possible locations to provide fault tolerance with high network connectivity in heterogeneous wireless sensor networks. This heterogeneous model consists of resource-rich UAV-BSs, acting as gateways of data, as well as ordinary sensor nodes that are supposed to be connected to the UAV-BSs via multi-hop paths. Previous efforts on fault tolerance in heterogeneous wireless sensor networks attempt to determine transmission radii of the sensor nodes based on the already deployed base station positions. They assume that the base stations are stationary and arbitrarily deployed regardless of the position of the sensor nodes. Our proposed MDP algorithm takes into account the desired degree of fault tolerance and the position of ordinary sensor nodes to determine the optimal number of UAV-BSs and their locations. The MDP algorithm consists of two steps. In the first step, each sensor node chooses low-cost pairwise disjoint paths to a subset of candidate UAV-BSs, using an optimization based on the well-known set-packing problem. In the last step, depending on the desired degree of fault tolerance, MDP chooses a subset of these UAV-BS candidates using a novel optimization based on the well-known set-cover problem. Through extensive simulations, we demonstrate that the MDP achieves up to 40% improvement in UAV-connected lifetimes compared to a random and uniform distribution of UAV-BSs.