I used an external resistor network successfully on Arduino, but the design is dependent on the internal 1.1V precision voltage reference present in the AVR processor, and a comparator which allows for comparision of an analog voltage (even outside the range) on a pin with the 1.1v reference. I can find no similar capability in the docs on the Spark ARM chip. Without this capability, if you’re simply reading the resistor voltage on a Spark analog input, the readings you get are referenced to Vcc, so the ADC will still be giving a maximum reading when Vcc falls below 3.6V.
That, at least, was what I encountered on Arduino. If there’s a way to do this on Spark without adding additional circuitry (reference, comparator), I’d be keen to hear since this is an issue that concerns me, too.