There is the MySQL limitation that Freeform can run into, and it seems likely in your situation. One thing you can do is reuse fields across forms... so for example, every form might have a first name, last name, email field, etc. Instead of having a new one for each form, you can have those as 3 fields used multiple times. And then, if possible, you can still override fields from one form to the next. For example, you could have a USA form with a field named "Zip Code", and use it in the next form as "Postal Code" for a Canadian version of the form, etc. I do get how you can run into issues if you start building very complex and different forms that pretty much require a different set of fields for each.
We have heard that several customers have had success by switching the field's column type from VARCHAR 255 to TEXT and they have reported getting upwards of 300 fields.
Also, if possible, one other option would be using the new Table fieldtype.
We're also beginning to work on Freeform 4, which will have several areas of the plugin rebuilt, including how fields and forms are architected and stored in database tables. A release date on this would likely be early 2020. :)