There has been a basic method from SSIS 2005 for creating an SSIS package template. You create package, then put that package into a magical folder (under the Common7 folder of the appropriate version of Visual Studio), and voila you have a package template (see http://www.mssqltips.com/sqlservertip/2841/creating-ssis-package-templates-for-reusability for the full process). A major problem with this process has been that the Package ID for the package created from this template is always the same, as well as the GUIDs for all of the tasks in the package. That can be a major headache if you use the Package ID to uniquely identify the package in your system tables. In fact, I advise everyone to go in to the package first thing and change the ID, not a onerous task but one easy to forget. To fix this problem, I have been unsuccessfully trying to figure out how to code a Package template, like the Package template that comes by default with BIDS/SSDT in order to resert the package ID when using your package template.
However, if you read to the bottom of Arshad’s excellent blog (http://www.mssqltips.com/sqlservertip/2841/creating-ssis-package-templates-for-reusability), you find that in SSIS 2012, a new Package ID is generated. In fact, in my test, I find that not only does SSDT create a new Package ID, it resets all of the Task IDs.
Sometimes small changes result in major fixes. Thank you Microsoft.