Can I get dependent services into a custom class without creating a service?
Not sure how many classes/services you have, but the main point for having services is to have the dependencies injected. Drupal core alone has probably 100+ services, so I wouldn't worry too much about adding 10 or so more.

Using ContainerInjectionInterface is also fine, if you do that, you can use the class_resolver service that will take care of doing that, it also accepts both a class implementing that interface as well as a service name.

https://api.drupal.org/api/drupal/core%21lib%21Drupal.php/function/Drupal%3A%3AclassResolver/8.4.x

Depending on how you use/configure/decide which of your classes to you, you could also make a plugin type and make them plugins, e.g. like block plugins or field formatters.