I don't understand what you mean by "forced resize". If you upload something at 2100x2100 pixels, and then make it 2100x2100 pixels in Roll20, it's the same thing as what you uploaded. Squares/the grid really have nothing to do with this.
....
So I guess I don't understand what the problem is that you're having.
I am afraid I have several problems with the way Roll20 manages the graphic elements, so, maybe my explanations can be a little jumbled (english being a second language doesn't help either). My problems are not exactly the same as Paul's, so feel free to move or delete this post if you think it is becoming too much OOT.
So, here are the problems I have encountered:
I make my own maps and tokens for gaming. I have used 128px/square elements and I am now working on a lot of "old school" 50px/square stuff.
http://toybox-sw.blogspot.be/search/label/Maps
Let's imagine I am trying to use the newer 50px/square maps (let's say a 20X20 squares map) and tokens in Roll20.
Now, if I upload a map on Roll20, I can either:
-adjust the squares to fit Roll20 squares, which means that a 1000 pixels map shall be stretched to 1400 pixels (that's the first forced resize)
-turn off the grid and try to eyeball its size to more or less 1000 pixels, because there is no way to force it to appear at native size
-make a multiple of 70px map (let's say 28X28 50 px squares, 1400X1400 pixels), stretch the map on 20X20 Roll20 squares and disable the grid. Now the map is displayed at 1 pixel is 1 pixel size (that's where Paul's problem lies, I think, because when a graphic element is not displayed at 1pixel/pixel, it tends to lose quality).
I would aslo like to point out that, when you say:
If you upload something at 2100x2100 pixels, and then make it 2100x2100 pixels in Roll20, it's the same thing as what you uploaded.
it is only partially true, because, it is true for 2100 (and any multiple of 70) but it is not true (and even impossible) for other sizes. You can not upload a 2000X2000 pixels map and make it exactly 2000X2000 pixels in Roll20 because there is no native size or pixel size control. Just a square and inches control (using inches as the unit only makes discussions more difficult because now you have the inches as "one square in Roll20" and inches as "dots per inch on your map").
The problem is the same with tokens, because Roll20 doesn't make a difference between size and scale.
-I make my tokens to be at the same scale as the maps, let's say 50px/square, but being the same scale does not mean that the token fit into a 50px square. If it has a weapon extending from its hand, it could be, for exemple 40X65 px. So, whilst being at the same scale as the map, the token shall be shrunk to fit into a square (that's the second forced resize).
-I can try to change the token size without snapping, but then I have to eyeball the resize of an element that needed no resizing.
And the last problem is with the grid, there is no way I can use it, with the problems mentionned above.
I can manage, and I have been able through some manipulations to use my stuff in Roll20 as it was intended.
But, it still means that I won't be able to share the stuff I make, because I can't expect other peoples to make the manipulations I have to go through to use Roll20.
I think that's where the problem lies: I have to fight the program to be able to have the program produce the result I want, which is basically "do nothing".
My maps and tokens are perfectly sized for being used together without any change.
If I was able to tell Roll20 to keep off, it would be good for me.
If I could set myself the scale of the squares (I know I can calculate a size in inches to trick the system, but frankly setting a number of pixels would be easier), it would be better.
And if I could set the center of rotation a token, it would be perfect (but that's not as important).
Sorry, if this post was quite long, but I wanted to be as clear as possible about what I think is the weakness of Roll20 in managing graphic ressources.