Rub chicken with lemon juice and season with salt and pepper. Heat olive oil in a large Dutch oven or tagine over medium-high heat. Add chicken and brown for 4 to 6 minutes per side. Add onions, garlic, saffron, ginger, preserved lemon, olives, and stock, taking care that chicken is covered with herbs and onions. Cover pan and cook over medium-low heat for 1 hour 15 minutes. Add cilantro and parsley and cook for an additional 15 minutes, until chicken begins to fall from the bone.
Transfer chicken to a serving platter. Spoon sauce over chicken and serve immediately with couscous.