Как синхронизировать два файла базы данных sqlite в приложении на python?
Сделать нормальный сервер БД вместо SQLite. Возьми MariaDB, или Postgre, или что угодно.

Потому что иначе всё равно придётся разрешать конфликты записей. Например, в таблице X один пользователь добавил запись A с id=10, а другой независимо добавил запись B с id=10. Придётся одну перенумеровывать. А если у них ещё и связанные записи в других таблицах?
Все описано в документации
https://www.sqlite.org/whentouse.html

По идее на малых нагрузках он должен отрабатывать нормально, но пишут во первых о возможных тормозах, и о возможном разрушении бд. 

Ультимативный путь это поставить бд клиент серверную и переписать программу. 
Менее ультимативный это создать lock файл и перед изменением данных проверять блокировку. Файл просто 0 длины. 

FILE* f = fopen("myfile.txt", "w");
int result = flock(fileno(f)), LOCK_EX);

// . . . .
// Locked file in use 
// . . . .
int release = flock(f, LOCK_UN);  // Unlock the file . . .