My solution to the lack of a neutral line is to re-wire the circuit. I add a new Line to the wall switch and disconnect the old Line at the ceiling light. The attached diagram shows the simplest situation where the load's electrical box contains two cables:
1. Line (power from the breaker panel)
2. Switch (control the load)
The original Line cable is disconnected and the wires are insulated with wire-nuts.
In my case, the ceiling light had three electrical cables:
1. Line
2. Switch
3. Other Load (Line continued to another light and switch)
In this situation you don't cap the ends but ensure the old Line and Other Load remained connected. The old Line cable just "passes through" the junction box.
For a two-level cottage, running a neutral wire from a 1st floor light to its switch is difficult and will often involved opening up the ceiling and wall. I found it easier to run a new circuit (or extend an existing circuit) to the wall-switch, by simply fishing the new Line cable from the basement (for 1st floor switches) or the attic (for 2nd floor switches). It is easier to run the cable from above the wall-switch than from below because it avoids the fire-break (the horizontal piece of 2x4 nailed between the studs). Wall switches are usually placed just above the fire-break so a cable coming in from above will not encounter it.
I use a 5' drill-bit extender to drill holes through a fire-break by starting from the basement. The margin for error is slim but so far I haven't "swiss-cheesed" any drywall!
My guess is that there are at least two things that are 'not-to-code' with my approach. A wire entering a junction box should be secured within 1 foot of the box. That's just not possible if you've fished a wire into a sealed wall! My technique also creates a junction box containing two separate ciircuits. Check the diagram and you'll see that the ceiling lamp's box now contains two circuits: the new one and the old one. You'd have to shut off two breakers to safely work in that box ... and if I were writing an electrical code I'd probably make that a no-no. Other than that, it works well and probably won't cause a qualified electrician to wince.
