I’m sure there is a way to make signing the CLA part of the pull request process on Github. I’ve been asked to do it. Not sure how Github works nowadays, maybe it was part of Github or an external bot.
And I don’t agree with the other people here. I think having complete copyright makes some things easier. And if you do an open project, maintain it for years, do 99% of the work… You’re allowed being paid with the contributions.
Mind there are other licenses than just the GPL. You could just pick a MIT license / Apache / BSD instead and maybe you don’t need the contributors to sign over their copyright anymore, because these licenses cover pretty much everything and transfer it to everyone, including you.