I implemented my improvement ideas for system-config-printer and hal-cups-utils upstream (packages to be uploaded to Ubuntu today or tomorrow):
* When installing a new printer and there is an exact driver match, skip the steps of make/model/driver selection and ask only for the queue name (driver can be changed afterwards though)
* If an HP printer needs HP's proprietary plug-in (firmware and so on), ask the user whether he agrees and load the plug-in with HP's hp-plugin utility. The user gets shown the list of features which the plugin adds for his printer and whether the plugin is required or optional
* If hal-cups-utils detects a printer and does not find an exactly matching driver or if the printer needs HP's proprietary plugin, it does not creat a queue any more. It sends a D-Bus message to the system-config-printer applet and by a simple click the user can initiate an interactive setup.