no its not good practice. You can extend the basic content model by making OOTB content types as parent to your new custom content type. Best practice is to create custom content model with custom content types and properties and use it.
If you want to manipulate the permission model you can create your own custom roles by combining the set of permission available OOTB then you can use that custom role. For defining the role there is one files which contains all the roles and permission details.