Unfortunately this is mathematically impossible.
The simple explanation:
Shen scaling, snapping (by holding Ctrl) does not use the grid. You are basically multiplying an object's size, not incrementing (moving) it. So when snapping is enabled it snaps the scale factor to multiples of
0.01 when Shift is pressed).
The mathematical explanation:
The biggest mathematical difference between scaling and translating (moving) is that when scaling an object, you aren't simply moving vertices a certain distance, you are multiplying the vertices' distance from a point (the pivot center) by a scale factor. So the larger the object, the smaller the scale factor would have to be to enlarge the object by one unit.
Example, if you have an object
1 unit x
1 unit it would take a scale factor of
2 to enlarge the object by
1 unit (in each direction); but if your object was
100 units x
100 units it would only take a scale factor of
1.01 to enlarge the object by
1 unit. So to make scaling snap to the grid Blender would have to dynamically adjust the scale factor the more you scale the object.