Expansion targets are selected on the day of the expansion, according to the following criteria:
1) Closest system with fewer than 7 factions that the faction hasn't been in before
2) If none available, then the closest system with fewer than 7 factions that the faction has been in before (and Retreated from)
3) If none available, the faction will start an invasion war in the system with 7 factions that has the non-native faction with the lowest influence out of all nearby systems (and that you haven't retreated from).
4) If none available, the same as 3) but with systems that the faction has previously retreated from.
5) If all that fails, the expansion fails but the next one can target systems that are further away (cube of 20LY radius -> cube of 40LY radius)
Unless the area you're in is very busy and crowded, you probably only need to worry about 1) and 2). And of course, you can't expand to a system if you're already in it.
Expansions can be directed by deprioritising unfavourable systems, those that go in the wrong direction. If your target system is 15LY away with 6 factions, then ensuring that all closer systems have 7 factions, or that you have been there before, will cause the expansion to go to the target. Inara's system view has a useful list of nearby systems, filtered by distance, that can be used to plan this.
Checking if your faction has been somewhere in the past can be annoying, but EliteBGS.app can be used to view historical data for a faction.
Summary:
Make sure your target system is high-priority. (<7 factions)
Fill up closer undesirable systems to 7 factions.
If you can't fill up the closer systems, or it'd be more effort than it's worth, just keep expanding your chosen faction to work your way down the list.
Repeat from the target system until you eventually reach wherever you're going. How easy or quick this is will depend entirely on the region.