Delineation of amplification, hybridization and location effects in microarray data yields better-quality normalization