How to change location of SQL Server 2012 database which is already configured with a merge replication
Oh Boy! System Databases on C Drive are recipe for disaster ! 

Change the default database location away from C:\ drive.

You can do it using ALTER DATABASE .. MODIFY FILE


Change the db file location 

ALTER DATABASE db_name
MODIFY FILE (NAME = logical_data_file, 
     FILENAME = 'D:\data\physical_file.mdf');

ALTER DATABASE db_name
MODIFY FILE (NAME = logical_file, 
     FILENAME = 'L:\log\physical_file_log.ldf');

Stop log reader agent, distribution and merge agent (if they are running).
Offline the database using alter database db_name set offline
Once offline, you have to PHYSICALLY move the data and log files to the new location that you put in in step 1.
Bring the database ONLINE alter database db_name set ONLINE
Start the jobs that were disabled in step 2.