Personally I would avoid most of the cheap 'no name' B&B's around Earls Court.
If you do not mind travelling by tube you can stay pretty much anywhere in London.
Rather than going to Olympia it can be better to get off at High St Kensington tube then get a bus the last half mile or so along Kensington High Street.

