Craft 2 - Adding custom CSS classes to Sprout Form fields on a global basis
You are correct. This is quite easy now in Sprout Forms for Craft 3 but is more of a challenge in Craft 2 because we can't easily give you access to the input html.

Your options in Craft 2 include:


Use Sprout Forms to override the field wrapper in the field.html file and then update your CSS to target input fields within the parent tag (i.e. div.my-class input instead of input.my-class. This will be the most maintainable option.
Target each individual field you wish to add a custom class to using rendering options. As you mentioned, the limitation here is that it's not very maintainable for multiple forms.
While I can't recommend it, if you are planning to upgrade to Craft 3 and choose to hack the core while you remain on Craft 2, the easiest place to do so may be right in the template files (instead of in the PHP classes). You can find the Sprout Forms input field template files in sproutforms/templates/_components/fields/*. You would need to update each individual template file with the classes you want. This option would be maintainable with the caveat that you'd need to remember that each time you update Sprout Forms you may overwrite your changes. If you go this route, it's probably best to manage your project in a git repository so you can recover any changes you might overwrite during an update.
If you did want to do this as your own plugin, you would not be able to modify the existing fields. You would need to create a new custom field to replace each existing custom field, and you would see both your custom fields and the default custom fields in the dropdown. This is maintainable in a general sense, but creates a lot of overhead for creating the duplicate fields with slightly different classes and will make the user interface feel like it has twice as many fields in the UI.
I expect you've considered this option, but updating to Craft 3 will have many benefits on top of greater control in Sprout Forms.