“Truly, I say to you, this generation will not pass away until all these things take place. Heaven and earth will pass away, but my words will not pass away.” (Mark 13:30-31) Doesn’t this verse imply that Jesus would return during his listeners' lifetimes?

No. Here the word which is translated ‘generation’ is the word γενεά (genea) in Greek. This word can  also be translated to mean an entire race of people, here referring to the whole Jewish nation. It is likely that this is what Jesus was referring to since he also used it with that same context in Mark 8:12, 38, 9:19. Christ was saying that his chosen people, the Jews, will remain until all these things take place, and we don’t have to look far to see that his people have yet to perish.