I think having chloroplasts was a great idea, it always bothered me that veggies had to be assigned to be veggies. In real world, the border between plants and non-plants is quite fuzzy.
But the current implementation is driving me crazy because the formulas behind it are not in any way logical.
I understand the challenge that bots with chloroplasts get their energy for free, but that just means that having chloroplasts should come at a cost. They should require quite a bit of energy to maintain, they should make bots become large, etc. If you do it right, then some bots will evolve to have chloroplasts, while others will evolve to eat those that have chloroplasts, and others will switch back and forth depending on conditions.