If you can rebuild from scratch then there is nothing bad about having an excessive amount of migrations. In a working production environment, migrations really are only just a way to get a dev machine up and running, or to roll back a bad release etc.
However, I personally like to reset the migrations every now and again. We have the same problem, 1000s of migrations and due to human error with commits, and namespace changes (insert reason here) it's unlikely over extended amounts of time it would rebuild.
In fact, with production it would never be rebuilt anyway, it's only for dev test machines.
There are some very significant down sides risks though, If you have custom code and scripts in your UP
s to do various things (which you likely do) then you will have to be careful and add them back, and also backup everything!
Disclaimer, I do not promote anyone to do this unless they know exactly what they are doing. Having lots of migrations are fine and does not cause a problem in any normal circumstance, however screwing up a production database can cost a lot.
Further reading
If you want to go through with this