We present a general procedure for reducing compressibility effects in pressure driven lattice Boltzmann simulations involving complex geometries. We do this by introducing a preconditioning step for the flow system in order to reduce these often undesirable effects, rather than directly modifying the flow algorithm itself. The method consists of determining the geometry dependent contribution to a pressure field induced by a given set of pressure boundary conditions. We show that this may be done through solving a set of Laplace's equations that do not need re-evaluation during flow simulations. This preconditioning method is not limited to stationary flows but is directly applicable to time-varying flows, without any recalculation of the preconditioning step. In this paper, we apply the procedure to the lattice Boltzmann algorithm, but it may be utilized in any flow simulation algorithm based on artificial compressibility methods. The method is demonstrated in both stationary and non-stationary flow situations. This includes examples from flow in porous media and hemodynamics. All the presented examples are compared to conventional methods for implementing pressure driven flow in lattice Boltzmann. In all the examples, it is shown that the proposed method considerably reduces the undesirable features exhibited by the conventional methods.