I ran both a couple of years ago, using London as an easy long run which I trained through.
In my opinion you don't need another 20+ miler in between the two.. there are only 4 weeks between the races and 4 weeks before a target race is about right for your last long run.
How much rest you need after London is really down to what you're used to, how hard you run London and how good you feel afterwards so it's difficult to offer any specific advice.
On the which is faster debate I suspect in terms of elevation they're pretty similar.. both largely flat after a descent in the first few miles. With London if you're in the pack then your pace is pretty much determined for you - ok if you're in the appropriate part of the field I guess. With Edinburgh you've got the coastal wind to contend with. I've only run Edi once though so I don't know how likely that is to affect the race - it blew something mighty along the prom on the way out. Most of the course won't feature more than a handful of spectators but that's not necessarily a bad thing!