For wifi, I've spent months tuning that driver over the timespan of pandora's existence and I don't think anything can be done from software side to make it work better. There were a few changes that did not make it from 2.6 to 3.2 before (caused disconnections for some), but they are now in the latest firmware. Either the chip is crap or it doesn't like something on the board. It works for some, does not for others. Rebirth pandoras have some hardware tweaks that help for some, but not everyone.
Charging situation is similar. The chip stops charging whenever it wants, out of software control (there are some threshold settings, but trying to change them did more harm then good). Charging meter is hardware based too, no software control. Charging acts different between old and new firmware because new firmware uses much less power (maybe 20% of what if used to use) when idle, so that makes charging chip act different as it reacts according to amount of current running through it. Companies like Nokia could do proper R&D so N900 has proper charger chip (they could just use the one we use instead; but that is not without problems too, there is no open driver for N900 charger, that part is closed and not documented). In comparison, Pandora's software development budget was (and is) ZERO, we could barely get base driver functionality before release.
About browsing. You are using desktop browsers on a 256M machine, so a swap file is a MUST - there are various threads about how to set it up, I think even a .pnd exists. Try digging out old Pentium3 with 256M RAM, install latest firefox, disable swapfile and see how far you can go. It won't be much further until it crashes or you see a bluescreen, I'm sure.
Also if you haven't recently tried Chromium try it again, it should be more stable on latest firmware.