Having a CLA/Copyright Assignment is IMO a bad choice, it might lead to less contributions to a project on part of developers not wanting to sign a CLA.
I think despite some drawbacks, the "everyone has their own" model is still better but needs some fixes. Probably in form of binding Contributor Guidelines.