Until now, I've been running Xampp by having a script with
xampp start run as a login item.
Is there a better way to make Xampp ( Apache & MySQL ) run as daemons?
On Mac OS X v10.4+ you can use launchd to start daemons at boot, login, or at specific times and intervals. Read through the man page on launchd and launchd.plist and you should find exactly what you need.
If you'd prefer a GUI interface, I find Lingon works very well as it handles creating the correctly formatted plist files in the correct locations.