I'd like to assign a specific role when a new user registers on my site using the regular registration form, beyond that of just "authenticated user".
How can I do this?
This is easily accomplished using the Rules module and setting up the "event" and "action" to behave the way you want it to behave.
I set it up so that "after saving a new user" I "added a user role" of the type that I wanted to have. That should do the trick.
There's a module for that: Registration role.
Registration role lets an administrator select a role to automatically assign to new users. The selected role will be assigned to new registrants.
Another option is the Auto Assign Role module:
The Auto Assign Role serves three primary purposes. The first is to provide an automatic assignment of roles when a new account is created. The second is to allow the end user the option of choosing their own role or roles when they create their account. The third is to provide paths that will trigger a specific role when an account is created.
Try the Role field and Rules modules.
This is the most straightforward method, in a custom module.
function MY_MODULE_user_insert($account, $data) {
$role = user_role_load_by_name('role-name');
user_save($account, array('roles' => $account->roles + array($role->rid => $role->name)));
}