Hollow out each zucchini, working from both ends with a small melon-ball cutter or an apple corer, removing all seeds and leaving shells about 1/3 inch thick. Discard pulp and seeds.
Wash rice in several changes of cold water in a bowl until water runs almost clear, then drain in a sieve. Heat oil in a deep 12-inch heavy skillet over moderately high heat until hot but not smoking, then sauté onion, stirring, until golden, 6 to 8 minutes. Add garlic and cook, stirring, 1 minute, then remove skillet from heat.
Transfer 1/4 cup onion mixture to a bowl and cool slightly. Add rice, meat, allspice, 1 1/2 teaspoons salt, and 1/2 teaspoon pepper and mix well with your hands. Stuff zucchini shells with meat mixture, being careful not to pack tightly (rice will expand during cooking).
Add tomatoes with juice, stock, remaining 1/2 teaspoon salt, and remaining 1/4 teaspoon pepper to onion in skillet and bring to a simmer. Put stuffed zucchini in tomato sauce and simmer, covered, until rice is cooked through, 1 to 1 1/4 hours (cut 1 zucchini in half crosswise to check).
If sauce is watery, transfer zucchini to a plate and boil sauce, stirring, until slightly thickened, about 5 minutes, then return zucchini to sauce. Squeeze lemon over dish before serving.