It's all a matter of reading the audience - it's that simple. Before I play that first song, I look at the audience, determine their ages, and often go through the crowd and ask if they have any special songs they would like me to play. Then, I return to the keyboard, and select appropriate songs from when that audience was 15 to 45 years of age, which is the era that would work best for most audiences. This technique has never failed me, and I have played for everyone from Spring Breakers to octogenarians. Even if they don't dance.
Now, unlike some folks here, I never used MP3s and DJ'd a job - it's just not my style. When I was still working, I was a singer, musician and entertainer and very successful for lots and lots of years. I played restaurants where no one danced, and restaurants where everyone danced, and never had a problem keeping the audiences entertained.
I sincerely believe in having a diverse repertoire, and being able to cover every genre of music from rock to ballroom and modern country. This is one of the reasons Don Mason has always been one of my music idols - he can cover all the bases and does so very professionally. If someone in the audience asks for a Jimmy Buffett song, it will take him about 6 seconds to kick into Margarettaville, and 6 seconds after that song ends he can be into any Sinatra song or a country oldie. That's what it takes, and he, as some noted in his recent video, can readily mix with the audiences. I tried to emulate many of the things that Don does in Ernest's every weekend, though I wouldn't wear that hat if you paid me to.
The best advice I have is for you to update your song list, registrations, MFD, songbook, etc..., practice those songs, and work on reading those audiences.
Good luck,
Gary