I will agree that it is complicated but that's a result of years of companies abusing loopholes and the nature of trying to cover every conceivable scenario. It's an old codebase but still the best we have.
Practicality is never the consideration of an idealist and the GPL is definitely the product of an idealist. RMS has often appeared like a crazy old man but as time passes, he seems to be proven right more often than wrong. A consequence of idealism and the march of progress, maybe.
You're of course well within your rights to choose a different way but your characterization of the GPL not being about freedom is a bit off the mark.
It's a document that gives and preserves rights of the end user, which include the right to the source code and the right to modify and distribute.
How could it possibly 'take away' rights? Any rights not in the licence didn't exist in the first place and thus can't be 'taken away'.
A licence is a set of conditions which a code author/owner sets for using his/her code, any 'rights' you have to their code is that of the conditions they set.
If a developer chooses GPL for their code then those are the rights to which you can use their code, no rights have been 'taken away from you' at all, it's not your code.
And it's certainly practical, which I'm certain is the reason that it's the most used open source licence.
One particular aspect which makes it practical from a developer standpoint is that if they release their code under GPL they have the right to source code modifications made to their code as end users of such modifications.
There is no BEST licence, the licence profileration is a direct consequence of our different needs and values.
It's not practical and it's not free. That's why I'd never consider releasing software under it.