El ojo no solamente no percibe el brillo de forma lineal si no que además lo hace de forma diferente según la longitud de onda. Para conseguir esa impresión de control lineal se suele recurrir a valores almacenados en tablas.
Este artículo te dará algunas pistas e incluso un par de programas de ejemplo para Arduino (repasa también los comentarios).
La frecuencia mínima para evitar que el parpadeo se note es de unos 100Hz para un led que se mantenga en una posición fija; si está en movimiento (por ejemplo una linterna) ha de ser algo mayor.
No indicas si se trata de leds de alta potencia ni si el color es determinante. El control con PWM afecta a la longitud de onda de forma bien diferente a como lo hace el control analógico y podría no ser recomendable según que casos.
Teniendo en cuenta que el PWM es un on/off continuado se han de tomar algunas precauciones con los tiempos para evitar -tal como indica tu texto- acortar la vida del led, sobre todo cuando la corriente a manejar es muy grande.
Haz una búsqueda sobre PWM dimming en Google y dale una ojeada a las soluciones aportadas por los fabricantes. Texas tiene bastante documentación y bastantes chips especializados.
Aquí nos dice que un led tiene una eficiencia de 4.5 a 5.0 lm/W a 20 mA.
Dice que ESE led tienes tales características, no es algo generalizado.
salu2