To make the marinade, combine the olive oil, garlic, ginger, cumin, turmeric, salt and pepper. Place the chicken in a zip-lock bag and pour the marinade over. Swish around to ensure the chicken is thoroughly coated. Let marinate for at least 4 hours or overnight for maximum flavor.
Heat 2 tablespoons olive oil in a skillet or Dutch oven over medium high heat. Cook the onions until soft and translucent, 5-7 minutes. Add the chicken and cook just until it turns white, about 2 minutes on each side. Add the broth and any remaining marinade from the zip-lock bag. Bring it to a boil. Reduce the heat to low, cover and simmer for 20 minutes, turning the chicken over once after 10 minutes.
Add the preserved lemon, parsley, cilantro and olives, stir to incorporate into the sauce, cover and simmer for another 15 minutes. Stir in the lemon juice and add salt to taste. Serve immediately with a leafy green salad, couscous or bread.