I hear native German speakers respond to a danke with bitte as often as with gerne.
Is there a semantic difference between the two of them? Or a usage rule behind the choice? Is one more polite than the other?
"Bitte" is the "standard" answer to "Danke".
"Gerne" is short for "Gern geschehen!". According to the Duden, "gern" means
mit freudiger Bereitwilligkeit, Vergnügen
It therefore implies that the speaker was happy to help or do a favor ... and it all sounds more polite.
With a quick search I found this (it's a bit tongue in cheek, but he's quite well known as a linguist): http://bastiansick.de/kolumnen/fragen-an-den-zwiebelfisch/bitte-danke-bitte
The author argues that "Bitte" is short for "Ich bitte Sie, das war doch selbstverständlich!" or similar sentences (maybe "Oh please, that was nothing!" in English). Here, you do not accept the gratitude, in your view you did nothing that would require it.
Answering with "Gerne" is noted as a new trend, mainly because people didn't understand the first option anymore. There you accept the gratitude, but express that you liked to do the action, so it was no problem for you.
So in conclusion, "Bitte" may be a bit more old-fashioned, but also more polite in theory.
Is my recollection of 1 year of mandatory German 101 at age 13 & having childhood years with a German best friend in a German only speaking household failing me? I have literally spent the last 30 of my 40 years responding to Danke with Bitteschön? Have my attempts at appearing smart and bilingual failed me or worse made me look sound like a rude snippy and sarcastic cow all these years?!? I’m mortified lol 😂