I prefer YY-CHR for NES sprite editing myself. Works for other systems too. Has tile layouts pre-defined.
Here's a trick I did, as an example, with YY-CHR and Jungle Strike on the SNES: Play through the game in ZSNES or SNES9X to where the vehicle or whatever is that you want to rip. Sprite data will be illegible in the save state but you don't care about that just yet, so make a save state. Open the save state in YY-CHR, import the palette from the save state. Find the tile data. Overwrite all tile data, leaving only the sprite data. Be sure to pick a color not used in the sprites. Boot up the save state in your emulator, now you can take green screen screen captures using the AVI Save feature. But usually sprite data isn't so hard to sort.