I documented a lot of my learning in the giant "
Needle Cutter" thread, and have started a few threads of my own on here (Just click on my profile and search for them) about other related projects. I do have a youtube channel where I posted videos of some of it but haven't uploaded anything in over two years. Would like to get back to more video...but just don't have time now that I'm a single father. I know the needle cutter thread is huge and intimidating...but there's a TON of great info in there.
As for swapping heads, the way I work with my machine the changes don't really matter. I keep things "dumb and simple" so instead of messing with offsets in software I usually just manually position the machine to where I want 0 to be (usually the top of my material in the lower left corner) and then reboot it's controller to zero all of the axes. Though I did stat getting a bit fancier when I noticed my machine would sometimes drift out of square with that method. So now I either push it all the way to the lower left corner until it physically stops against block I positioned to square it against and then keep it powered without rebooting from there so the steppers don't loose their position. Or...once I do that I use the LCD controller on my machine to reposition it to where I want home to be and then have a gcode command set as a shortcut in the LCD to re-zero everything.
But there are a lot of different ways to do it. I've also experimented with a GRBL based controller instead and a dedicated computer to feed gcode to it to get a more traditional CNC like experience. But I found for the simple kind of work I usually do it's more hassle than it's worth. The Marlin based setup running gcode off a sdcard is quick, and reliable for 95% of what I've asked my machine to do.