Ok. I suppose that there is a definition of the number of squares a creature occupies normally. One square for a human obviously, and so on.
I think it would be clearer for graphics to speak about tokens in pixels or squares, because tiny/large/... are probably too specific for D20.
Ok, let's imagine the human is drawn at the scale of one square (70px per square). I say scale of one square purposefully, because he can occupy a space a little different than just one square if his arm is extended, or whatever. So, this human is going to be a token of something like 65X92 pixels (just an exemple). And a halfling drawn at the same scale would be maybe 45X70 pixels, in correct proportion.
Now you have an ogre. Let's say he is big and that big is 2X2 squares (I don't know, just an example). Being an ogre, he has been drawn much larger than the human. So, he is maybe 135X 160 pixels.
You don't really need any resizing, because they are all in correct proportions. So, both the visual representation and the effects on play that you describe should both work correctly or am I wrong?
But, anyway, you would just need a (right-click on the tokens-advanced-set dimensions) if you wanted a controlled resize (for example, if you wanted the human above upsized to the same scale as the ogre, you would just enter 130X184 pixels, and if you wanted him at a half scale, you would enter 63X46 pixels).
If you have the correct size for your tokens, snapping is just a question of movement that can be avoided by moving with Alt key.
I don't know if I am really clear. I'll add an example if needed.
I am probably missing something because I don't really see a problem.