I know that sitting in an asteroid field once you've dealt with the event there can level up the shield skill for a crewmember; they gain XP by restoring shield points, regardless of whether an asteroid or an enemy weapon damaged the shields.
When an asteroid misses me (the ship dodges it), do the crewmembers manning the Pilot & Engines consoles gain XP for their respective roles?