How to automate installation of application
There's even a whole language to automate actions in GUI. It's called TCL.
Ninite probably uses .NET framework to do this.
Anyway I googled few software for this, some commercials and some are not: SilkTest, TestComplete, AutoIT
I agree with Josh, your going into a world of pain that in the end IMHO will not be worth it, if your only doing this for a home setup.
Think of the time you will spend trying to make the installation work and then the automatic configurations of your programs... then the a mount of time you will need to adjust it because this OS patch or that program version changed the installation enough for the script not to work... and you will quickly understand that this point is moot.
I do suggest getting to know autoIT regardless, as its a really good windows scripting language.
Managing the installation and removal of programs that haven't been packaged in some way would be a nightmare, perhaps impossible. I doubt that there's anything out there that can do this. Windows does have it's own package management in place, but it's not as strong as some of the open-source alternatives that you've mentioned.