LiPo batteries must not be overcharged, otherwise they will be destroyed, and destroy whatever is near them in the resulting fire (and possibly stuff that is farther if the fire spreads). Fortunately, most LiPo batteries have built in circuitry to prevent/slow overcharging.
On the flip side, using a Arduino to monitor battery charging sounds like a really nice application, and you could customize to take the ambient light into account, the battery's charge state, and possibly expected demand.
Overcharging isn't great for NiMH cells either, they vent hydrogen gas and lose capacity. But they don't catch fire like the LiPo ones.
Further, if you're worried about overcharging, one solution is to run more cells in parallel. So if you have 4 NiMH cells in series (for about 5V), then you can put another 4 in parallel with those, increase your storage capacity, decrease the overcharging risk, and spread any overcharging damage out over more cells, so each cell is less affected (it's not linear, so each is damaged significantly less than if fewer cells took more overcharge.) Unless you have one honking big solar panel, a 12 battery array (3 groups in parallel of 4 cell batteries) should be able to take whatever you throw at it. (Remember that a single "battery" is technically a cell, and when you put one or more together, as in a 9V, you make a battery.) And you won't have the same voltage levels with more cells in parallel, but a lot more current capacity before the voltage drops too much. Best way to calculate this all is to do the math, remembering that you charge at about 1.4 C (or 1.4 times the current in = the current out.) So if you need to fill an empty 1400 mAH hour cell, you need to put in 1960 mA for an hour, or 980 mA for two hours, etc., and that lower charge levels are better in general. I'd try to stay under 500 mA/hr if you can, so put in enough cells in parallel so that your peak current to the cells, divided by the number of groups of cells in parallel, is under 500 mA. And if you have too many cell groups in parallel, the problem is akin to having too big a gas tank in a car. Extra weight and space, but that's really the only downside.
On the regulation, I thought that the power input to the Arduino boards (at least the newer ones) is regulated, so you can put in 6v and it will be regulated down to 5V. If not, just get a 7805 and a couple of small caps (or a LM317 and the right resistors, but that's more trouble for 5.0 V.)
Good luck with the project, it must be hard to get parts out there in central Asia.