Hi.
You've raised two issues here.
-- First, to avoid those stripes along the edge of the sprite, always leave a few empty pixels at the edge of the sprite—I've highlighted this in green in the screenshot. And the more your sprite can be scaled, the more pixels you need to leave.
For example, I make games for different screens and resolutions, so I export an image that’s 250x250 and then place it in a 256x256 sprite.
-- Second, if you’re not using pixel art and you want it to look good, you almost always need to have small objects at a slightly larger original size.
So your option number 3 will be the best choice, but you also need to be reasonable.
In the screenshot, I’ve marked the scaling in orange; for my own games, I try to keep it around 80% for small objects—that way, the graphics aren’t too heavy, and on high-resolution screens, it doesn’t stand out too much.