In this paper, we propose a number of weighting/reweighting schemes to improve the performance of the so-called approximate message passing (AMP) algorithm of Donoho et al. We consider the application of AMP for the recovery of sparse signals from an under-determined system of linear equations, and variants of AMP for the recovery of block sparse signals. The proposed schemes for block sparse signals cover both cases of known and unknown block borders. Simulation results, both in noiseless and noisy scenarios, show significant performance improvement over the standard AMP algorithm and a considerably better performance/complexity trade-off compared to other state-of-the-art recovery algorithms.