"Un animal mange une pomme noire."
Generally, like other adjectives, colors agree with the noun they qualify. However, there are exceptions, when the color is also a noun refering to a real thing (ex: marron=chestnut).
please read also: http://french.about.com/od/grammar/a/adjectives_inv.htm
As I already commented, "noir" is a convenient adjective for early learners to understand how gender and number agreements are built. Many other adjectives are exceptions, but I agree with you, some variants could be welcome, like adjective "vert, verte, verts, vertes" which agrees exactly like "noir, noire, noirs, noires".