Мёнин, конкретика следующая:
1. Многие "имена", которые воспринимаются в качестве имен собственных, пишутся с двумя заглавными - Конек-Горбунок, Царевна-Лебедь, Царь-Девица...
2. В то же время "имена", которые формально могут быть именами собственными, но воспринимаются скорее как обозначение некоторого класса объектов, пишутся с двух строчных - рыба-кит, чудо-юдо, жар-птица...
3. Интереснее всего варианты, где по аналогии с Гиль-галадом первая искомая буква - заглавная, а вторая - строчная... Честно, говоря, на Интернет-ресурсах в этом плане разброд и шатание, однако я бы к этой категории однозначно отнес бы сочетания "Иван-царевич", "Иван-дурак"...
4. Даже
http://booference.pochta.ru/ortho_iii.html#sect13.2 не вносит окончательной ясности в вопрос. С раздельным написанием все ясно: там заглавные служат для выделения из текста имени собственного во всех его частях... А вот дефисное, по-видимому, остается на совести переводчика. Я бы, может, написал с двух заглавных - если не задумываться. Но правильным в таких случаях считаю все же следование оригиналу.