Ya que @TonyEErocketscientist ya respondió la parte de prueba del motor, solo agregaré parte PID de tu pregunta.
¿Existe una manera de crear una rutina de software que identifique las características del motor y ajuste los parámetros del controlador (digamos un PID) de acuerdo con lo que es mejor para ese motor específico?
No, esto es no posible. Las características del motor tienen muy poco que ver con el control PID. Es la reacción de todo el sistema (a.k.a. Planta) y el comportamiento PID deseado (tiempo de respuesta, tiempo de estabilización, superación, etc.) lo que define los términos de control.
Hay algoritmos que pueden medir la respuesta del sistema real y ajustar el bucle de control. Sin embargo, el uso de estos algoritmos requiere que la planta sea controlable por un software fuera del circuito de control y que sea segura para ser manejada arbitrariamente (es decir, a menudo fuera de los límites operacionales normales). Además, podría requerirse el método controlable para la inyección de perturbaciones externas.
Todo lo anterior es la razón por la cual no hay dispositivos de un solo controlador para el mercado, AFAIK.
Dicho esto, algunos dispositivos, como los servos de hobby, pueden ajustarse para una amplia gama de condiciones operativas. Es posible que el circuito de control no sea óptimo para una aplicación específica, pero sería "suficientemente bueno" y, de hecho, estará estrechamente vinculado a las características específicas del motor. En este caso, el ajuste de PID se realiza en los tiempos de diseño y prueba y se arregla antes de que comience la producción final.