Keith welcome to the forum !!!
1. If you recompose you will be loosing all the custom software that your users have installed. It is like formatting your hard drive and hoping you will still have your software that was installed prior to formatting your drives.
Suggestions for Applications - Use Thinapp or some kind of Application Virtualization. If you want to give users ability to install software and still use a floating pool, you can use Software from Liquidware Profile Unity/Flex App UIA and DIA - user installed App and Department installed App. Here is the Link - FlexApp™ For ProfileUnity | Liquidware Labs
Suggestion for Printers - You need to use ThinPrint or Location based printing. Using ThinPrint is easy to install and configure but it depends how are your users accessing those VDI VMs. Remember to use ThinPrint you have to first install Tools and then VDI Agent. Even during the installation/upgrade you have to be careful.
Hope this helps !!!