In cellular heterogeneous networks (HetNets), offloading users to small cell base stations (SBSs) leads to a degradation in signal to interference plus noise ratio (SINR) and results in high outage probabilities for offloaded users. In this paper, we propose a novel framework to solve the cell association problem with the intention of improving user outage performance while achieving load balancing across different tiers of BSs. We formulate a combinatorial utility maximization problem with weighted BS loads that achieves proportional fairness among users and also takes into account user outage performance. A formulation of the weighting parameters is proposed to discourage assigning users to BSs with high outage probabilities. In addition, we show that the combinatorial optimization problem can be reformulated as a monotone submodular maximization problem and it can be readily solved via a greedy algorithm with lazy evaluations. The obtained solution offers a constant performance guarantee to the cell association problem. Simulation results show that our proposed approach leads to over 30% reduction in outage probabilities for offloaded users and achieves load balancing across macrocell and small cell BSs.