Best way to deploy ubuntu onto 100s of laptops?
As ubuntu is debian based, you should be able to use FAI for installation.
A PXE deployment server where the configuration file is generated by a web script. The web server can pick up the IP address of the machine, or the DHCP server can add a query string or path info to the URL for the configuration file.
At least, that's how I'd do it if I knew any of the details with regards to Ubuntu.
EDIT:
Regarding imaging, there's no reason you couldn't handle that the same way. Simply load a small image via PXE that will copy the full image to the hard drive and then make the necessary modifications to the configuration.