To share scripts between projects, you don't have to copy the files over. What I do is, if there is script code or keyword tests that I would like to generalize for use in any project, I store it in a completely separate folder. I then use Add | Existing Item to add the item to whatever project I'm working on.
As for why your scripts are failing, are there consistent error messages you're getting? It could be that the scripts are expecting certain things like Project Variables, NameMapping references, TestedApps, CheckPoints, etc., that were in the project where the script was created but are not in the new project. This is something that is just a matter of diligence and documentation that, if you're going to use script X, you need to make sure the project has objects A, B, C present and configured a certain way.