Bring the rice and water to a boil in a saucepan over high heat. Reduce heat to medium-low, cover, and simmer until the rice is tender and the liquid has been absorbed, 20 to 25 minutes.
Fill a large pot with water and bring it to a boil. Boil the heads of cabbage, one at a time, until softened but still firm, about 5 minutes. Remove and let cool for 15 minutes.
Combine the ground beef, eggs, cooked rice, 1 1/2 teaspoons of garlic powder, salt and pepper, and 1/2 cup ketchup in a bowl. Mix with your hands until well combined.
Prepare the cabbage leaves by shaving a slice off of the large vein in the center of the leaves so they'll be easier to roll. Place a heaping spoonful of the filling in the center of the leaf. Fold in the left and right edges and roll up the leaf from the bottom, forming a tight cylinder. Secure with toothpicks if necessary. Continue filling and rolling the leaves; save the smaller cabbage leaves and set them aside.
Chop the reserved cabbage leaves. Place the chopped cabbage in a large pot. Add the sliced onion, crushed tomatoes, raisins, sour salt (citric acid powder), salt and pepper, 1/2 cup ketchup, and the remaining 1 1/2 teaspoons garlic powder. Stir in 1/2 cup of white sugar and bring the mixture to a boil.
Taste the sauce and adjust the sweetness, if desired, by adding the additional 1/2 cup of sugar. Place the cabbage rolls into the sauce. Pour the remaining 1 cup of ketchup on top of the rolls. Cover the pot, and reduce the heat to a simmer.
Cook the rolls for 3 hours, basting the rolls every half hour.