BA8700 has the
best punctuality of all the LCY-EDI flights.
Sleeper is a bit grim unless you're drunk or have sleeping tablets (both of which work for me!) and I would use it for the Highlands but not Edinburgh - there's not long enough to sleep otherwise.
Earliest flights into EDI from London is EZY from LGW at 0800 (90% on time) followed by BD from LHR at 0805 (92% on time) and BA at 0820 (95% on time).