My solution has been to use the "BrainArray" custom CDFs. These are created, and updated weekly, to reconstruct the affy-probesets so that each probeset matches a SINGLE ID. They have a build for UniGene (every probeset matches to a single UniGene ID), Entrez Gene, Entrez Protein, and dozens of others.
I've found that this make my downstream annotation much easier when I'm dealing with gene and protein level annotations. The only problem is that you need to have the RAW CEL data to use these CDFs.
I agree that with custom CDF you probably can summarize different probesets on gene level. However, sometime you have access only to processed data on probeset level, not to raw data (CEL files). Or just for some reason don't want to redo the analysis using custom CDF file.
In this case we select a probeset with highest mean intensity across all the samples in the dataset as a gene representative. I believe it's better than some kind of averaging of different probesets. Any critiques are welcome.