You can use a collision polygon for irregular shapes.
Collision polygons won't change with the sprite's size though. You might be able to scale the collision polygon, though I haven't had much success with scaling collision shapes/polygons in the past.
The docs provide a good explanation of the various ways collision works in Godot. Link