Any way possible for non-admins granting badges

Not really, but there is a hacky workaround.

  1. Create a custom badge
  2. Configure it to be awarded via group membership
  3. Put the relevant non-admin people in charge as group managers
  4. They can then add/remove users from that group, which effectively grants/removes the badge