Чето мне думается что если пишете on-find то и в директиве должно быть onFind, да и если не ошибаюсь, функция должно передаваться в атрибут а не вызываться
Логика передачи параметров следующая:
Что в html шаблоне разделяется дефисами (on-find, on-click) - то в свойстве scope пишется через camelCase (onFind, onChange);
И если вы используете Angular 1.5 версии и выше, можете вместо директивы использовать компоненты, это на порядок удобнее.
И вы сможете организовать поток данных, идущий в одном направлении - вместо users: '=', использовать users: '<', в этом случае в вашем компоненте autocomplete не будет происходить реального изменения объекта users, а только его копии.