How to find peaks and periods?
Personally, I would just use a lowpass filter  try and keep it as small as possible to reduce the effect of asymmetry.

The fact that there is significant noise already implies some uncertainty in the peak position, I expect this will be of similar or greater magnitude to any bias the filter introduces.

If you are really concerned about the bias you could look at using morphological opening and closing filters. This is basically running a ball over/under the surface so either one will over/underestimate the peak height. You can then get 2 lines to give an envelope of where the peak may lie.  The average of the two curves is probably a decent estimate of the "true" curve prodived the noise frequency is suitably high.