JJay:
One of the main reasons I have never been to Varadero is because of the price. It is consistently over the £1000 mark which I feel is a little on the high side.
I love Guardalavaca. The three resorts on Pesquero beach are excellent namely the Playa Pesquero, Playa Costa Verde and Blau Costa Verde. Not far away is the Occidental Grand Playa Turquesa, which is the newest hotel to be built in the Guardalavaca area.
Moving closer to the town of Guardalavaca you have the 5 star Paradisus Rio de Oro, arguably the best hotel in Cuba. Next door to this hotel is the Sol Rio Lunes y Mares (two hotels).
In Playa Guardalavaca itself you have Brisas and also Club Amigio/Atlantico.
If it were me, and money was no object I would definitely go for the Paradisus, otherwise I would go for one of the three hotels on Pesquero beach.