Over time, I found that the xcoffin package will solve all my problems of positioning things exactly where I wanted them.
This is very useful in cover design, thesis in particular, which often have very strict requirements.
The idea is simple: you put your contents in special boxes (coffins) that have handles and then you attach the coffin (\Join... ) using those handles and adding horizontal o vertical shifts if necessary. One coffin, I called Frame, of zero dimensions, serves as a collector for the others.
In this way if you comment a Join the coffin will disappear from the assembly without perturbing the others. The same thing will happen if you fill (Set) it with no content.
The \csr and \crl do just that.
I defined a \maketitlex with two optional parameters, the left and right logo, so there are 4 possible results, as the images show.
Please see my more complete answer to a similar question:
I need a rather complex layout for a scholarly edition and don't know where to start
I added a chapter, headings, and some text to simulate a more realistic scenario.
\documentclass[a4paper]{book}
\usepackage{kantlipsum} %dummy text
\usepackage{xcoffins}
\usepackage{fancyhdr} %
\fancypagestyle{empty}{}
\fancyhf{}
\renewcommand{\headrule}{}
\fancyhead[RE,LO]{\rmfamily \small \nouppercase \leftmark}
\usepackage{graphicx}
\NewCoffin\Frame
\NewCoffin\smallLogoLeft
\NewCoffin\smallLogoRight
\NewCoffin\smallLogoAbove
\NewCoffin\LogoCenter
\NewCoffin\departmentx
\NewCoffin\titlex
\NewCoffin\authorx
\usepackage{xparse}
\NewDocumentCommand{\maketitlex}{ O{} O{} m }{%
\SetHorizontalCoffin\Frame{} % empty before reuse
\csl{#1}%
\csr{#2}%
\SetHorizontalCoffin\LogoCenter{\includegraphics[width=150pt, height=50pt]{#3}}
\SetHorizontalCoffin\departmentx{\scshape\LARGE Department of lost objects}
\SetVerticalCoffin\titlex{\textwidth}{\Huge \sffamily \centering My most fantastic accomplishment \par so far}
\SetHorizontalCoffin\authorx{\Large\itshape Just me}
\JoinCoffins\Frame[hc,vc]\LogoCenterl,vc
\JoinCoffins\Frame[\LogoCenter-r,\LogoCenter-vc]\smallLogoRightl,vc
\JoinCoffins\Frame[\LogoCenter-l,\LogoCenter-vc]\smallLogoLeftr,vc
\JoinCoffins\Frame[\LogoCenter-hc, \LogoCenter-b]\titlexhc,vc
\JoinCoffins\Frame[\titlex-hc,\titlex-b]\authorx[hc,t](0pt, -40pt)
\JoinCoffins*\Frame[\authorx-hc,\authorx-b]\departmentx[hc,t](0pt, -120pt)
\noindent\TypesetCoffin\Frame(0pt, -100pt)
\cleardoublepage
}
%%https://tex.stackexchange.com/questions/127502/difference-between-if-and-ifx
\newcommand{\csr}[1]{%
\if\relax\detokenize{#1}\relax
\SetHorizontalCoffin\smallLogoRight{}
\else
\SetHorizontalCoffin\smallLogoRight{\includegraphics[width=30pt]{#1}}%
\fi
}
\newcommand{\csl}[1]{%
\if\relax\detokenize{#1}\relax
\SetHorizontalCoffin\smallLogoLeft{}
\else
\SetHorizontalCoffin\smallLogoLeft{\includegraphics[width=30pt]{#1}}
\fi
}
\begin{document}
\pagestyle{empty}
\maketitlex{example-image-A} %only center
\maketitlex[example-image-B][]{example-image-A} %center + left
\maketitlex[][example-image-C]{example-image-A} %center +right
\maketitlex[example-image-B][example-image-C]{example-image-A} %all
\pagestyle{fancy}
\chapter{Introduction}
\kant[1-10]
\end{document}

