Sorry about the delay I only just spotted your reply.
Im using Godot, but I believe this is also an issue in other engines such as Unity etc.
When creating the player character object the sprite frames have a pivot point defined, typically for me I would place it somewhere around the centre on the x and at the bottom of the y, basically at the feet. By having the attack frames larger than the walking/idle etc it means the sprite shifts over to the side when playing the larger framed anims. This can be solved via code by using an offset depending on what animation is playing, its not a massive problem but its a bit fiddly and can be entirely avoided by using a constant frame size. As these are very small images any additional size added is nothing to worry about from a resource point of view and far easier to work with. So having every frame be say 32x16 means they are ready to use straight off with no additional steps during runtime. So for anyone that downloads your pack to use they must choose one of 2 routes.. That being to resize all frames to the same, essentially just adding empty space to the smaller ones or by creating a list of offsets. Whereas if they came all the same size then boom they just work straight off with no additional work required.
I hope I am making some sense, feel free to ask if Im not.