1) Current flows through the cell gains some potential energy and then looses this potential across the resistor. But isn't the drift speed of electrons really low, if so why is the potential drop established across the resistor instantaneously ?
The drift speed isn't relevant here. How do you know the potential drop is established instantaneously? It isn't. Immediately after the circuit is connected, the current and the voltage drop across the resistor will be very small. Both will increase until the circuit is at steady-state.
2)An electron goes through the battery and gains some potential. What will the potential of a charge away from the negative terminal (this charge has not crossed the cell yet) and somewhere close to the resistor be?
This depends on how long it's been since closing the circuit (and where the circuit was closed) and the inductance of the current.
When the circuit is closed, you will have some charges at a high potential and some charges at a low potential adjacent to each other. But the unequal potential means there is an electric field. This field (and a path for mobile charges) accelerates some of the charges. This acceleration changes the field at other points in the circuit until everything stabilizes at steady-state.
Because you probably completed the circuit somewhere outside the battery, the battery's terminals were still maintaining a potential difference.
3)Do the charges rearrange themselves in order to generate a uniform electric field in the circuit?
Not uniform. The product of the field strength and the distance along it will equal the difference in voltage between the beginning and end points. A very low resistance wire (with a tiny voltage drop) will have a very small electric field. The resistor with a large voltage drop will have a stronger electric field.
Hyperphsics voltage and electric fields
What confuses me is how do the charges 'know' how to rearrange so as to create a voltage drop equal to the battery's voltage?
How does a skydiver "know" to fall at terminal velocity? It's because if they're falling at some other speed, there is a net force that accelerates it.
Imagine a circuit with a voltage source and a resistor, and the current around the circuit (and therefore the voltage drop across the resistor) are less than steady-state.
If you sum the voltage around the circuit, it is not zero. That means a charge can gain energy just by going around the circuit. As they do, that energy gain goes into increasing the KE and therefore their drift velocity. Increased drift velocity, increased current.
As the current increases, more charges gather at the boundary with the resistor. Eventually there are so many charges building up there that the electric field inside create a voltage drop equal to the voltage source. When that happens, there's no more energy to speed up the charges and the current stops increasing.