"** One idea is to rent a Villa in Tavira with another couple or two and using that as a basecamp to explore the Algarve area."
That's my favourite! There are so many things to do and see in Algarve that are almost impossible during summer time, that I believe it's the right place to go in May.
What I do when I go to Algarve in May, and stay East: (I go by car)
Stay in Montegordo or Manta Rota (I like Tavira, it's a really lovely small town, but I think it has a smell. It's just my nose, my friends and family don't agree with me).
Day whatever: wake up early, drive to Sagres (West), visit the fort (only visited once or twice, I just stay outside and take pics), visit the lighthouse, and go to Vila do Bispo for lunch. Vila do Bispo is a no-turisty small village, with good food. Marigil is one of my favourites. What I eat: Bife de atum (tuna steack). Drink: Quinta da Lagoa Reserva (red wine from Lagoa, Algarve). Dessert: Rodriguinho. Afternoon: beach at Lagos with dinner at Mexilhoeira Grande (another small village with good food, I recomend sopa de cação, shark soup) or beach at Praia da Rocha (Portimão) and dinner at Portimão, under the bridge, Cataplana (the best dish from Algarve). Dessert: an ice cream at Portimão central garden. A long day, I know!
Another day: Drive to Castro Marim, an historical village with border with Spain. Go there through the Natural Park, visit the salinas (salt extraction) and you may find some nice Flamingos. In Castro Marim, visit the fort and the castle. Eat wherever you feel like, and whatever you want, everything is good. Very famous is the "arroz de lingueirão" (write lingueirão at google and see the images). I don't like. I mean I never eated, something in me is against the poor lingueirão!
Another different day: visit Silves! It's lovely, historical, and has some kind of magic! (it is a cittaslow village). The last arabian king of Sevilla (yes, Sevilha the spanish city) lived there. Visit the castle and the cathedral, and walk (I don't) over the walls. I remember I eated there an excelent "cozido", not exactly the portuguese "cozido", not exactly the spanish "cocido", and not exactly the ingredients of the Morocco tagine. Maybe a mix of them all.
Another daytrip: perhaps you can go to Ayamonte, Spain, or even a litle bit further to Isla Canela. If you eat there, eat paella (I do, because in the North Spain, like Galicia, Asturias, etc, paella is not very common, other dishes are). Visit a supermarket and buy "jamon ahumado" (prosciutto).
And the last I suggest: day trip to praia Senhora da Rocha. It's a cliff, and there is a beach below, there are two in fact, you can go from one to another by a tunnel, or swimming. I don't advise swimming, because last time my father did it, was attacked by seaguls that have their nests in the cliff. This beach is my favourite, everyting is happening there. Lot's of fisherman. You can take a boat (not a touristic one, a fisherman boat, they are there advertising) and visit the caves, including Benagil. Dinner at "Guia", the best chicken in Portugal (roasted chicken).
Everyday: Olhão. The market. Really fresh everything (vegetables, fruits, and mainly the fish!). Morning tryp. Forget about the market after 12:00.
Buy: bread named "pão do Alentejo". Oregãos - only at algarve they are selled in a buquet, not a box.
Buy or catch: "Conquilhas", a kind of clam. People are selling them at the end of the beaches, don't buy at supermarkets. Put them in salt water, the best is sea water. Cook in a fridge for 1 minute, with just a drisdle of olive oil. I use to catch mine, it's very good for your butt, but next day you are in pain. So maybe just buy them.
Sunset: Definitely "Cacela Velha" a small (and I mean small) village that wakes up at 6:00 pm
Admire the white houses, all with chimneys and a terrace at the top. And also the cypress, heritage from the romans.
Sorry if I left you more confused about your decision.