Avoid hard outlines within the sprites; use selective outlining to reduce the 'hardness' of the sprite's edges and rely on value and color rather than linework to distinguish between individual parts within a sprite.
In a tiny sprite, you've only got like twenty pixels of clearance. If you want to draw an arm in, that's two pixels you have to spend on the lines. If you want to have things like pants and helmets and arms, you have to spend a lot of your pixel clearance on lineart which you could be spending on value blocks instead.