Saltando un poco tarde.
Nuestra empresa - Slice Factory (descripción completa aquí) ofrece un servicio de conversión de extensión del navegador: http://gallery.extensionfactory.com/labs/conversion/ En la mayoría de los casos, su extensión de cromo funcionará perfectamente en FF y Safari.
El servicio todavía está en versión de prueba, y la conversión de Firefox funciona mejor que la de Safari. No puedo revelar completamente cuál es nuestra solución técnica, pero al ser una respuesta SO, puedo agregar algunos detalles: hemos vuelto a desarrollar una pila api de JavaScript que imita la mayoría de las API de extensión de Chrome para Safari y Firefox; en Firefox basamos nuestro trabajo en JetChrome. Además, tenemos envoltorios que vuelven a empaquetar la extensión de Chrome añadiendo nuestra biblioteca y reescribiendo manifiestos, etc.
Más allá de eso, son en su mayoría algunas buenas ideas, prueba y error, y MUCHO tiempo de desarrollo.
Como ejemplo: Safari 5.1 acaba de presentar una ventana emergente correspondiente a browser_action de Chrome, pero ya tenemos una solución alternativa que funciona para las versiones anteriores. Firefox no es compatible con HTML5 WebSQL, pero tenemos una API para ello. También ofrecemos una forma de llevar webapps a FF, y pronto a Safari. El objetivo es tener la API de Chrome como referencia e imitarla en todos los demás navegadores.
Sin necesidad de avanzar hacia nuestra solución, podría agregar que el tiempo para cubrir completamente la API de Chrome tanto en Safari como en Firefox probablemente no valga la pena, a menos que planee convertir varias extensiones. Por lo tanto, para una o dos extensiones, aconsejaría que tu código sea lo más modular posible, y que solo cree tres extensiones, ¡o que pruebe nuestro servicio!
¿Por qué le importaría la compatibilidad de IE? No es compatible con extensiones. – serg
Sí, pero de una manera muy, muy, muy 'inusual'. –