The community encourages discussion about proposed changes on the ImageJ and imagej-devel mailing lists. Submit your ideas!
Start on the mailing lists, searching for discussions related to your contribution to get some context & background. It can also be helpful to search for applicable issues and plans in ImageJ's Trac issue tracker or on the GitHub issue list for ImageJ2, ImgLib2, and SCIFIO. The ImageJ community believes that public discussion is important so that ideas are not lost and exposed to healthy alternate points of view.
Changes to ImageJ1 are made by Wayne Rasband, who is the sole ImageJ1 developer. He takes patch submissions and then reworks them to fit within the project's development model and style before merging them. Attribution for the changes is noted in the release notes (see ImageJ1's Release Notes/News).
Methods of getting the patch to Wayne include:
- Send a patch to imagej-devel to 
- Submit a pull request on GitHub against Wayne's ImageJ1 repository
- Send a patch to Wayne via private mail
The important part is that Wayne receive the patch, since he is the only one with the authority to merge it.
(Note this answer was written to document a nice response from Curtis Rueden on the ImageJ mailing list.)