I have just been investigating a problem with my VW Passat heater fan that stopped working and can pass on the following facts. the fan has a 4 speed control, full power is a direct connection, the other speeds are via a 100 W resistor with taps, the next speed down is via a really low value resistor - .1 ohms?, right down to the lowest speed which is via a 2.2 ohm resistor. So unless you can make your own resistors out of fire element wire, a resistor dropper is impractical.
I would use a PNP series pass darlington transistor ( E to +12V, C to fan, B to control), this way the 12 A would only drop .2V (12 X .2 = 2.4 W) across this transistor when its switched on. Connect a diode across the output (cathode to fan, anode to E), this is to absorb any switching transients from the motor brushes. the control input (the base) must now be connected to earth via transistor that can handle over 10 mA (put a 1K current limiting resistor in series with this lead) or switched off. using a 555 IC set up to give a variable mark/space ratio would do this. So build it as a 1KHZ oscillator and by switching the resistors, you will be able to change the mark/space ratio and hence the mean voltage across the fan and hence its speed.
Frank