Prepare the chicken stock by combining the chicken bones, onion, and garlic head in a large pot. Add enough water to cover, about 1 gallon, and bring to a boil. Skim and discard foam that rises to the top. Reduce to a simmer and cook, uncovered, about 1 hour, periodically skimming foam from the top. If liquid is evaporating too rapidly, add a cup or two of water. Strain by lifting liquid out with a ladle. Discard the onion and garlic, and set aside to cool. Reserve 2 quarts for the soup, and save the extra for another use. (It will keep in the refrigerator up to 5 days).
Heat the 1/4 cup olive oil in a large saucepan, add the 6 cloves minced garlic, and saute until golden. Add the cured ham, and saute for a minute. Add the tomato and paprika, and saute briefly, then add the reserved chicken stock. Bring to a boil, reduce heat and simmer for 30 minutes.Meanwhile, toast the bread, rub half a clove of the remaining 3 garlic cloves over each piece, and drizzle with the remaining olive oil. With a mortar and pestle, pound the leftover garlic halves, cumin seeds, and saffron. Stir paste into the simmering soup, and add the bread, breaking it up a bit.
If using eggs, break the eggs into the simmering soup and poach them until set, but yolks still soft. Serve soup immediately, ladling it into warm earthenware bowls.